ВУЗ:
Составители:
Рубрика:
7
инициализируется по порядковому номеру – третьему, который соответствует
полю year.
В некоторых случаях имеет смысл создавать структуры, которые содержат
в себе другие (вложенные) структуры. Например, при создании простого банка
данных о сотрудниках предприятия целесообразно ввести, по крайней мере, две
структуры. Одна из них будет содержать информацию о фамилии, имени и
отчестве сотрудника,
а вторая будет включать в себя первую с добавлением
полей о профессии и возрасте:
struct tag_fio {
char last[100];
char first[100];
char otch[100];
};
struct tag_people {
struct tag_fio fio; //вложенная структура
char job[100];
int old;
};
Рассмотрим способ инициализации и доступ к полям структуры people на
следующем примере.
Листинг 2. Работа с вложенными структурами.
int main()
{
struct people man = {
{“Иванов”, “Иван”, “Иванович”},
“Электрик”,
50 };
printf(“Ф.И.О.:%s %s %s\n”,man.fio.last,man.fio.first,
man.fio.otch);
printf(“Профессия : %s \n”,man.job);
printf(“Возраст : %d\n”,man.old);
return 0;
}
В данном примере показано, что для инициализации структуры внутри
другой структуры следует использовать дополнительные фигурные скобки, в
которых содержится информация для инициализации полей фамилии, имени и
отчества сотрудника. Для того чтобы получить доступ к полям вложенной
структуры выполняется сначала обращение к ней по имени man.fio, а затем к ее
полям: man.fio.last, man.fio.first и man.fio.otch. Используя
данное правило,
можно создавать многоуровневые вложения для эффективного хранения и
извлечения данных.
Структуры, как и обычные типы данных, можно передавать функции в
качестве аргумента. Следующий пример демонстрирует работу функции
отображения полей структуры на экран.
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »