В языке Си реализован набор типов данных, называемых "базовыми" типами. Спецификации этих типов перечислены в таблице 3.1.
Таблица 3.1.
Базовые типы |
Спецификация типов |
|
Целые |
signed char |
знаковый символьный |
signed int |
знаковый целый |
|
signed short int |
знаковый короткий целый |
|
signed long int |
знаковый длинный целый |
|
unsigned char |
беззнаковый символьный |
|
unsigned int |
беззнаковый целый |
|
unsigned short int |
беззнаковый короткий целый |
|
unsigned long int |
беззнаковый длинный целый |
|
Плавающие |
float |
плавающий одинарной точности |
double |
плавающий двойной точности |
|
long float |
длинный плавающий одинарной точности |
|
long double |
длинный плавающий двойной точности |
|
Прочие |
void |
пустой |
enum |
перечислимый |
Тип long float реализован только в версии 4.0 СП MSC и эквивалентен типу double. В версии 5.0 СП MSC и в СП ТС реализован тип long double, причем в версии 5.0 СП MSC и версии 1.5 СП ТС он эквивалентен типу double, а в версии 2.0 СП ТС является самостоятельным типом размером 80 битов.
Типы char, int, short
и long имеют две формы — знаковую (signed) и беззнаковую (unsigned). В совокупности они образуют целый тип. Перечислимый тип также служит для представления целых значений, однако, переменная перечислимого типа может принимать значения только из набора, заданного в ее объявлении. Спецификации типов float
и double относятся к плавающему типу.
Целый тип (включая перечислимый тип) и плавающий тип в совокупности образуют арифметический тип.
Тип void (пустой) имеет специальное назначение. Указание спецификации типа void в объявлении функции означает, что функция не возвращает значений. Указание типа void в списке объявлений аргументов в объявлении функции означает, что функция не принимает аргументов. Можно объявить указатель на тип void; он будет указывать на любой, т.е. неспецифицированный тип. Тип void может быть указан в операции приведения типа. Приведение значения выражения к типу void явно указывает на то, что это значение не используется. Нельзя объявить переменную типа void.