суббота, 5 декабря 2009 г.

6.2. Определения структур

Структуры это составные типы данных, построенные с использованием других типов. Рассмотрим следующее определение структуры:
struct Time {
int hour; // 0-23 int minute; // 0-59 int second; // 0-59
} ;
Ключевое слово struct начинает определение структуры. Идентификатор Timeтег (обозначение, имя-этикетка) структуры. Тэг структуры исполь­зуется при объявлении переменных структур данного типа. В этом примере имя нового типа Time. Имена, объявленные в фигурных скобках описания структуры это элементы структуры. Элементы одной и той же структуры должны иметь уникальные имена, но две разные структуры могут содержать не конфликтующие элементы с одинаковыми именами. Каждое определение структуры должно заканчиваться точкой с запятой. Приведенное объяснение, как мы вскоре увидим, верно и для классов.
Определение Time содержит три элемента типа inthour, minute и second (часы, минуты и секунды). Элементы структуры могут быть любого типа и одна структура может содержать элементы многих разных типов. Структура не может, однако, содержать экземпляры самой себя. Например, элемент типа Time не может быть объявлен в определении структуры Time. Однако, может быть включен указатель на другую структуру Time. Структура, содержащая элемент, который является указателем на такой же структурный тип, называ­ется структурой с самоадресацией. Структуры с самоадресацией полезны для формирования связных структур данных (см. главу 15).
Предыдущее определение структуры данных не резервирует никакого пространства в памяти; определение только создает новый тип данных, ко­торый используется для объявления переменных. Переменные структуры объ­являются так же, как переменные других типов. Объявление
Time timeObject, timeArray[10], *timePtr;
объявляет timeObject переменной типа Time, timeArrayмассивом с 10 элементами типа Time, a timePtrуказателем на объект типа Time.

Комментариев нет:

Отправить комментарий