Основные типы

В версии C89 определенны следующие основные типы данных.

Тип данных Ключевое слово
Символьный char
Целочисленный int
С плавующей запятой float
С плавающей запятой двойной точности double
Пустой void

К перечисленным выше типам в версии C99 добавленны следующие.

Тип данных Ключевое слово
Логический, или булев (истина/ложь) _Bool
Комплексный _Complex
Мнимый _Imaginary

В языке C++ к типам, что определенны в версии C89 добавленны следующие.

Тип данных Ключевое слово
Логический, или булев (true/fase) bool
Символьный двухбайтовый wchar_t

Ключевое слово wchar_t задаёт тип двубайтовых символов. Для хранения символов широкого, или двойного, формата отводиться 16 разрядов

Примечание: ключевые слова для обозначения логического типа данных в версии C99 и языке C++, отличаються одно от другого: _Bool (C99) и bool (C++). В версии C89 логический тип данных вобще отсутствует.

Некоторые основные типы могут быть модифицированны с помощью одного или несколтьких модификаторов типов:

Если при объявлении переменных используеться один модификатор (без наименования типа), то предпологаеться использование типа int. Например две следующии записи эквивалентны.

Копировать
unsigned int i;
unsigned i;

Тип Размер
в байтах
Диапазон
char 1 -128 - 127
unsigned char 1 0 - 255
signed char 1 -128 - 127
int 2 -32 768 - 32 767
unsigned int 2 0 - 65 535
signed int 2 Аналогично int
short int 2 Аналогично int
unsigned short int 2 0 - 65 535
signed short int 2 Аналогично int
long int 4 -2 147 483 648 - 2 147 483 647
signed long int 4 Аналогично long int
unsigned long int 4 0 - 4 294 967 295
long long int 8 -263 - (263-1) (только в C99)
signed long long int 8 Аналогично long long int (только в C99)
unsigned long long int 8 0 - 264-1 (только в C99)
float 4 3.4E-38 - 3.4E+38 (6 значищих цифр)
double 8 1.7E-308 - 1.7E+308 (10 значищих цифр)
long double 10 34E-4932 - 3.4E+4932 (10 значищих цифр)
wchar_t 2 Аналогично unsigned int