79
data.*/
struct person
{
char fam[20];
char im[20];
char ot[20];
struct data bd;
};
/*Объявление структурной переменной ind1 типа person.*/
struct person ind1;
printf ("\n Укажите через Enter фамилию, имя,
отчество,");
printf ("\n День, месяц и год рождения гражданина
ind1\n");
/* Ввод сведений о гражданине ind1. */
scanf ("%s%s%s%d%s%d", ind1.fam, ind1.im, ind1.ot,
&ind1.bd.day, &ind1.bd.month. &ind1.bd.year);
/* Вывод сведений о гражданине ind1. */
printf ("\n\n Сведения о гражданине ind1:\n\n");
printf (" Фамилия, имя, отчество: \t%s %s %s\t \n",
ind1.fam, ind1.bd.month, ind1.bd.year);
}
§2.24. Объединения
Объединениями называют сложный тип данных, позволяющий размещать в
одном и том же месте оперативной памяти данные различных типов. Естественно,
что в данный момент времени в данном месте памяти может быть размещено
значение только одного включенного в объединение типа.
Размер оперативной памяти, требуемый для хранения объединений,
определяется размером памяти, необходимым
для размещения данных того типа,
который требует максимального количества байт.
Главной особенностью объединения является то, что для каждого из
объявленных элементов выделяется одна и та же область памяти. Когда
используется элемент меньшей длины, чем наиболее длинный элемент
объединения, то этот элемент использует только часть отведенной памяти. Все
элементы объединения хранятся в
одной и той же области памяти, начиная с
одного адреса.
Общая форма объявления объединения
union имя_объединения
{