Особенности структур.
1. Описание структуры начинается со служебного слова struct, за которым может следовать необязательное имя, называемое именем типа структуры (здесь это date). Это имя типа структуры используется в дальнейшем для создания конкретного объекта. 2. За именем типа структуры идет заключенный в фигурные скобки список элементов структуры, с описанием типа каждого элемента (элементом структуры может быть переменная, массив или структура). Элементы структуры отделяются друг от друга точкой с запятой. Например:
3. За правой фигурной скобкой, закрывающей список элементов, может следовать список объектов. Например, оператор struct date {...} x,y,z; определяет переменные x,y,z в качестве структур описанного типа и приводит к выделению памяти. Изобразим распределение памяти для структуры x типа date: 4. Описание структуры, за которым не следует список объектов, не приводит к выделению памяти (как в программе выше); оно только определяет шаблон (форму) структуры. Однако, если такое описание снабжено именем типа (например, date), то это имя типа может быть использовано позднее при определении объектов структур (определение структур your_birthday и my_birthday в программе). 5. Структуру можно инициализировать, поместив вслед за ее определением список инициализаторов для ее компонент, заключенный в фигурные скобки. В программе таким образом инициализирована структура my_birthday.
6. Обращение к определенному члену структуры производится с помощью конструкции вида:
7. Структуры могут вкладываться одна в другую, но самовложение структур запрещено! Например, учетная карточка служащего может выглядеть так:
Структура person содержит две структуры типа date и наша программа должна содержать шаблон для структуры date. Если определить переменную Nick следующим образом:
то Nick.birthdate.month будет обозначать месяц рождения. Операция доступа к элементу структуры "." вычисляется слева направо. А, теперь, рассмотрев основы, перейдем к тому, что же можно делать со структурами. Для этого открываем следующий раздел данного урока.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|