ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Вложенные структурыСтруктуры могут быть вложенными, т.е. поле структуры может быть связующим полем с внутренней структурой, описание которой должно предшествовать по отношению к основному шаблону. Например, в структуре person, содержащей Ф.И.О. и дату рождения, сделать дату рождения внутренней структурой date по отношению к структуре person. Шаблон такой конструкции будет выглядеть следующим образом: struct date { int day, month, year; }; struct person { char fio[40]; struct date f1; }; Объявляем переменную и указатель на переменные такой структуры: struct person a, *p; Инициализируем указатель p адресом переменной а: p = &a; Тогда обращение к полям структурной переменной a будет следующим: a. fio, a. f1. day, a. f1. month, a. f1. year; или p -> fio, p -> f1. day, p -> f1. month, p -> f1. year. Можно в качестве связи с вложенной структурой использовать указатель на нее: struct date { int day, month, year; }; struct person { char fio[40]; struct date *f1; }; Тогда обращение к полям будет следующим: a. fio, a. f1 -> day, a. f1 -> month, a. f1 -> year; или p -> fio, p -> f1 -> day, p -> f1 -> month, p -> f1 -> year. Использование typedef упрощает определение структурных переменных, например: typedef struct person { char fio[40]; int day, month, year; } W; здесь W - созданный пользователем тип данных - структура с указанными полями, и для нашего примера: W t1, t2; - декларация двух переменных типа W. Не нашли, что искали? Воспользуйтесь поиском:
|