Область значений — это интервал от минимального до максимального значения, которое может быть представлено в переменной данного типа. В таблице 3.3 приведен размер занимаемой памяти и области значений переменных для каждого типа. Поскольку переменных типа void не существует, он не включен в эту таблицу.
Таблица 3.3.
Размер памяти и область значений типов
Тип |
Представление в памяти |
Область значений |
char |
1 байт |
от -128 до 127 |
int |
зависит от реализации |
|
short |
2 байта |
от -32768 до 32767 |
long |
4 байта |
от -2.147.483.648 до 2.147.483.647 |
unsigned char |
1 байт |
от 0 до 255 |
unsigned |
зависит от реализации |
|
unsigned short |
2 байта |
от 0 до 65535 |
unsigned long |
4 байта |
от 0 до 4.294.967.295 |
float |
4 байта |
стандартный формат IEEE |
double |
8 байтов |
стандартный формат IEEE |
long double |
10 байтов |
стандартный формат IEEE |
Тип char может использоваться для хранения буквы, цифры или другого символа из множества представимых символов. Значением объекта типа char является код, соответствующий данному символу. Тип char интерпретируется как однобайтовое целое с областью значений от -128 до 127. Тип unsigned char
может содержать значения в интервале от 0 до 255. В частности, буквы русского алфавита имеют коды, соответствующие типу unsigned
char.
Следует отметить, что представление в памяти и область значений для типов int и unsigned int не определены в языке Си. В большинстве систем программирования размер типа int (со знаком или без знака) соответствует реальному размеру целого машинного слова. Например, на 16-разрядном компьютере тип int занимает 16 разрядов, или 2 байта. На 32-разрядном компьютере тип int занимает 32 разряда, или 4 байта. Таким образом, тип int эквивалентен либо типу short int
(короткое целое), либо типу long int
(длинное целое), в зависимости от компьютера. Аналогично, тип unsigned
int эквивалентен либо типу unsigned