Размер int в С может быть разным. В С организована целая система размеров для различных видов данных. В программировании часто применяются различные переменные, которые несут в себе определенную информацию. Каждая объявленная переменная соответствует определенному виду данных. Важно правильно определять тип данных для переменной, потому что от этого будет зависеть, сколько байт памяти необходимо выделить для нее. В Си это имеет особое значение.
Как известно, С-подобные языки — это языки, которые могут быть как высокоуровневыми, так и низкоуровневыми. Низкоуровневое качество этих языков позволяет напрямую воздействовать на память устройства. А это значит, что корректно определить правильный тип данных для переменных — значимое событие при разработке программных продуктов на С-подобных языках.
Типы данных в С
В С присутствует большое разнообразие видов данных, но сегодня нас интересуют численные виды. Вот основные из них:
«char» или «signed char» — одиночный численный знак, занимающий 1 байт памяти, содержит численные величины из интервала «-128 – 127»;
«unsigned char» — одиночный численный знак, занимающий 1 байт памяти, хранит значения в интервале «0 – 255»;
«int» — целочисленная величина, однако ее размерность варьируется, а сам вид данных может разделяться еще на несколько видов, поэтому чуть ниже мы распишем его подробнее;
«float» — число с плавающей запятой и одним значением после запятой, занимающее 64 бита памяти;
«double» — число с плавающей запятой и двумя значениями после запятой, занимающее 64 бита памяти;
«long double» — число с плавающей запятой и двумя значениями после запятой, с более широким диапазоном значений, потребляет 80 бит памяти, но иногда может потреблять 96 и 128 бит;
«void» — тип данных без определенного значения;
«bool» — имеет только два значения: «false» и «true», занимает 8 бит памяти;
«wchar_t» — числовой тип данных с интервалом значений «0 – 65535», потребляет 16 бит памяти;
и др.
Размер и размерность int в Си
На типе данных «int» в Си нужно остановиться немного подробнее, потому что его размер варьируется и зависит от многих факторов, включая специальные модификаторы. Важно иметь размерность «int» перед глазами при программировании, чтобы ориентироваться, сколько байт или бит памяти потребляет разный «int». Напомним, что 1 байт равен 8 битам.
Размер «int» зависит от его типа, поэтому варьируется:
«int», иногда называется «sighed» — численная величина в интервале «-2 147 483 648 – 2 147 483 647», потребляет память в 4 байта;
«unsigned int» — численная величина в интервале «0 – 4 294 967 295», потребляет память в 4 байта;
«__int8», оно же «char» — число в интервале «-128 – 127», потребляет память в 1 байт;
«unsigned __int8», или «unsigned char» — численная величина в интервале «0 – 255», потребляет память в 8 бит;
«__int16» имеет несколько других имен: «short», «short int», «signed short int» — численная величина в интервале «-32 768 – 32 767», потребляет память в 2 байта;
«unsigned __int16» имеет несколько других имен: «unsigned short», «unsigned short int» — численная величина в интервале «0 – 65 535», потребляет память в 2 байта;
«__int32», оно же просто «int», поэтому используется в том же диапазоне и потребляет столько же памяти;
«unsigned __int32», оно же «unsigned int», поэтому используется в том же диапазоне и потребляет столько же памяти;
«__int64» имеет несколько других имен: «long long» и «signed long long» — численная величина в интервале «-9 223 372 036 854 775 808 – 9 223 372 036 854 775 807», потребляет памяти 64 бита;
«unsigned __int64», оно же «unsigned long long» — численная величина в интервале «0 – 18 446 744 073 709 551 615», потребляет памяти 64 бита.
Заключение
Размер «int» в С имеет важное значение. В первую очередь он будет зависеть от разрядности системы, для которой разрабатывается программа. Как видно чуть выше, мы можем объявить «int» в 8, 16, 32, 64 бит и использовать его в соответствующих системах.
Имея размерность «int» в С постоянно перед собой, вы без труда сможете узнать, сколько байт потребляет тот или иной вид типа данных «int».
Другое