Типы и размеры данных
В языке C имеется только несколько основных типов данных: char один байт, в котором может находиться один символ из внутреннего набора символов. int Целое, обычно соответствующее естественному размеру целых в используемой машине. float С плавающей точкой одинарной точности. double С плавающей точкой двойной точности.
Кроме того имеется ряд квалификаторов, которые можно использовать с типом int: short (короткое), long (длинное) и unsigned (без знака). Квалификаторы short и long указывают на различные размеры целых. Числа без знака подчиняются законам арифметики по модулю 2 в степени n, где n - число битов в int; числа без знаков всегда положительны. описания с квалификаторами имеют вид:
short int x; long int y; unsigned int z;
Cлово int в таких ситуациях может быть опущено, что обычно и делается.
Количество битов, отводимых под эти объекты зависит от имеющейся машины; в таблице ниже приведены некоторые характерные значения.
ASCII | ASCII | EBCDIC | ASCII | |
char | 8-BITS | 9-BITS | 8-BITS | 8-BITS |
int | 16 | 32 | 32 | 32 |
short | 16 | 36 | 16 | 16 |
long | 32 | 36 | 32 | 32 |
float | 32 | 36 | 32 | 32 |
double | 64 | 72 | 64 | 64 |
Цель состоит в том, чтобы short и long давали возможность в зависимости от практических нужд использовать различные длины целых; тип int отражает наиболее "естественный" размер конкретной машины. Как вы видите, каждый компилятор свободно интерпретирует short и long в соответствии со своими аппаратными средствами. Все, на что вы можете твердо полагаться, это то, что short не длиннее, чем long.