В C(Си) множество видов производных переменных. В данном посте познакомимся основными базовыми видами. Но прежде, чем перейти к типам, нужно разъяснить само понятие переменная. Общий вид объявления переменной выглядит так
char x; int a, b, c; unsigned long long y;
Общий принцип объявления
[модификаторы] спецификатор_типа идентификатор [, идентификатор] …
- Модификаторы — ключевые слова signed, unsigned, short, long;
- Спецификатор типа — ключевое слово char или int, определяющее тип объявляемой переменной;
- Идентификатор — имя переменной.
Переменная в языке программирования похожа на переменные в математике с тем отличием, что в языке Си каждая переменная имеет тип данных, которая она может хранить, иначе говоря спецификатор. И роль этих переменных — это промежуточные хранения данных на всем цикле выполнения программы. Основные спецификаторы переменных делятся на
- char — символьный тип данных;
- int — целочисленных тип данных;
- short — целочисленный тип данных;
- long — целочисленный тип данных;
- bool — булевый тип данных для хранения TRUE или FALSE;
- float — число с плавающей точкой;
- double — число с плавающей точкой двойной точности;
Важно отметить, что числовые переменные могут еще быть отрицательными ли абсолютными. Для указания абсолютности или возможности быть отрицательными у переменных есть ключевые слова, которые еще называются модификаторы
- signed — есть отрицательные и положительные (стоит по умолчанию);
- unsigned — есть только положительные;
- short — это, еще может быть короткой записью типа short int;
- long — это, еще может быть короткой записью типа long int;
Если цифровая переменная указана, как signed, то диапазон положительных чисел делится поровну с отрицательными, потому что старший бит уходит на указание знака числа.
Тип | Диапазон | Шестнадцатиричный диапазон | Размер |
unsigned char | 0 … 255 | 0x00 … 0xFF | 8 bit |
signed char или просто char | -128 … 127 | -0x80 … 0x7F | 8 bit |
unsigned short int или просто unsigned int или unsigned short | 0 … 65535 | 0x0000 … 0xFFFF | 16 bit |
signed short int или signed int или просто short или int | -32768 … 32767 | 0x8000 … 0x7FFF | 16 bit |
unsigned long int или просто unsigned long | 0 … 4294967295 | 0x00000000 … 0xFFFFFFFF | 32 bit |
signed long или просто long | -2147483648 … 2147483647 | 0x80000000 … 0x7FFFFFFF | 32 bit |
unsigned long long | 0 … 18446744073709551615 | 0x0000000000000000 … 0xFFFFFFFFFFFFFFFF | 64 bit |
signed long long или просто long long | -9223372036854775808 … 9223372036854775807 | 0x8000000000000000 … 0x7FFFFFFFFFFFFFFF | 64 bit |