Основные типы данных. Данные в языке Си разделяются на две категории: простые (скалярные), будем их называть базовыми, и сложные (составные) типы данных.
Данные в языке Си разделяются на две категории: простые (скалярные), будем их называть базовыми, и сложные (составные) типы данных.
Тип данных определяет:
– внутреннее представление данных в оперативной памяти;
– совокупность значений (диапазон), которые могут принимать данные этого типа;
– набор операций, которые допустимы над такими данными.
Основные типы базовых данных: целый – int (integer), вещественный с одинарной точностью – floatи символьный – char (character).
В свою очередь, данные целого типа могут быть короткими – short, длинными – long и беззнаковыми – unsigned, а вещественные – с удвоенной точностью – double.
Сложные типы данных – массивы, структуры – struct, объединения – union, перечисления – enum.
Данные целого и вещественного типов находятся в определенных диапазонах, т.к. занимают разный объем оперативной памяти (табл. 2.1).
Таблица 2.1
Тип данных | Объем памяти (байт) | Диапазон значений |
сhar | –128 … 127 | |
int | 2 (4)* | –32768 … 32767 |
short | 1 (2)* | –32768 … 32767(–128 … 127) |
long | –2147483648 … 2147483647 | |
unsigned int | 0 … 65535 | |
unsigned long | 0 … 4294967295 | |
float | 3,14×10–38 … 3,14×1038 | |
double | 1,7×10–308 … 1,7×10308 | |
long double | 3,4×10–4932 … 3,4×104932 |
* Размер памяти зависит от разрядности процессора, для 16-разрядных объем памяти определяется первой цифрой, для 32-разрядных – второй.
Декларация объектов
Все объекты, с которыми работает программа, необходимо декларировать, т.е. объявлять компилятору об их присутствии. При этом возможны две формы декларации:
– описание, не приводящее к выделению памяти;
– определение, при котором под объект выделяется объем памяти в соответствии с его типом; в этом случае объект можно инициализировать, т.е. задать его начальное значение.
Кроме констант, заданных в исходном тексте, все объекты программы должны быть явно декларированы по следующему формату:
<атрибуты> <список ID объектов>;
элементы списка ID объектов разделяются запятыми, а атрибуты – разделителями, например: int i, j, k; float a, b;
Объекты программы могут иметь следующие атрибуты:
класс памяти – характеристика способа размещения объектов в памяти (статическая, динамическая); определяет область видимости и время жизни переменной (по умолчанию – auto), данные атрибуты будут рассмотрены в гл. 12;
тип – тип будущих значений декларируемых объектов (по умолчанию устанавливается тип int).
Класс памяти и тип – атрибуты необязательные и при отсутствии одного из них (но не обоих одновременно) устанавливаются атрибуты по умолчанию.
Примеры декларации простых объектов:
int i, j, k; char r; double gfd;
Рассмотрим основные базовые типы данных более подробно.
Дата добавления: 2016-01-09; просмотров: 1072;