8. Составные типы данных. Назначение, занимаемая память, диапазон значений, допустимые операции
Составные типы данных - типы данных, которые состоят из простых, а именно: структура и объединение.
Структура
Это объединение элементов под одним названием. Занимает место равное сумме размеров всех входящих в нее элементов. Переменная структуры хранит в себе все значения для каждого из элементов.
Допустимые операции:
Операция членства <имя структуры>.<член структуры>
Операция косвенного членства <указатель на структуру> -> <член структуры>
Операция взятия адреса &
Операция sizeof
Операция присваивания =
Работа со структурами:
Объявление структуры (шаблона)
Определение переменной типа структуры
Инициализация структуры
Объявление массива структур
struct book library[10];
Здесь library объявляется как массив, содержащий 10 элементов. Каждый элемент этого массива является структурой типа book. Таким образом, library[0] - одна структур типа book, library[1] - вторая структура типа book и т.д.
Указатель на структуру
struct book * shell;
- объявление указателя на структуру
shell = &library;
- определение указателя
library.title == (*shell).title == shell->title
struct book * shell;
- объявление указателя на структуруshell = &library;
- определение указателяlibrary.title == (*shell).title == shell->title
Выравнивание полей структур
Объединение
Это тип, позволяющий хранить данные разных типов в одном и том же месте памяти (но не одновременно). Объединение занимает память, равную наибольшему из ее элементов. Переменная объединения может хранить в себе значение только одного из элементов, поэтому изменяя значение одного из элементов, предыдущее значение удаляется.
Допустимы те же операции, что и со структурами
Last updated