Тип char может быть использован для представления отдельных символов или небольших целых. char занимает один байт машины. Важно отметить, что для представления символов и целых используется один и тот же тип
Тип int представляет целые величины и занимает одно слово машины (два байта).
Вместе с типом int можно использовать квалификаторы - short и long. При этом получаются еще целочисленные типы - short int (int здесь и дальше можно опускать и писать просто short), long int (или просто long). Обычно размер типа short меньше размера типа long. На IBM PC short имеет тот же размер, что и int, а long - 4 байта.
Вместе со всеми целочисленными типами можно использовать квалификаторы signed (со знаком) и unsigned (без знака). Различие здесь
- в интерпретации самого левого бита в значении - обозначает он знак или нет. В unsigned все биты представляют величину и поэтому его значения могут быть только положительными или равными нулю. Например unsigned char может представлять числа от 0 до 255. В signed левый бит представляет знак (если он 1 - величина считается отрицательной). Cоответственно signed char может изменяться от -128 до 127. Для всех других целочисленных типов (short, int и long) положение аналогично. (к примеру на IBM PC int изменяется в диапазоне от -32767 до 32768, а unsigned int - от 0 до 65535 и т.д). Если квалификатора нет, то по умолчанию считается signed.
Вот размеры и диапазоны целочисленных типов в Borland C++ (и вообще на IBM PC) :
Тип Размер(байты) Диапазон
char 1 от -128 до 127
unsigned char 1 от 0 до 255
short,int 2 от -32768 до 32767
unsigned int 2 от 0 до 65535
long 4 от -2.147.483.648 до 2.147.483.647
unsigned long 4 от 0 до 4.294.967.295
Типы float, double и long double представляют числа с плавающей точкой соответственно одинарной, двойной и повышенной точности. Размеры объектов с плавающей точкой зависят от реализации.
Вот размеры и диапазоны типов с плавающей точкой в Borland C++.
Тип Размер(байты) Диапазон
float 4 от 3.4E-38 до 3.4E+38,
double 8 от 1.7E-308 до 1.7E+308
long double 10 от 3.4E-4932 до 1.1E+4932
Определения и объявления
В С++ переменная может быть объявлена и должна быть определена. Определение и объявление переменной различаются. Это очень важный момент.
Определение переменной вызывает выделение памяти. Определение задает имя переменной и ее тип. Помимо этого может быть указано инициирующее значение для переменной. Должно быть одно и только одно определение переменной в программе. Переменная не может использоваться до ее определения.
Объявление переменной объявляет, что переменная существует и определяется где - то в другом месте. Оно не является определением, не приводит к выделению памяти, а скорее уведомляет о том, что переменная определена где-то еще. В программе может быть несколько объявлений одной и той же переменной.
В общем объявления и определения переменных могут называться описаниями.