Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 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.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных