имя структуры . Член --------------------
Операция указания члена структуры "." связывает имя структуры и имя члена. В качестве примера определим leap (признак високосности года) на основе даты, находящейся в структуре d,
leap = d.year % 4 == 0 && d.year % 100 != 0 || d.year % 400 == 0;
или проверим имя месяца
if (strcmp(d.mon_name, "aug") == 0) ...
Или преобразуем первый символ имени месяца так, чтобы оно начиналось со строчной буквы
d.mon_name[0] = lower(d.mon_name[0]);
структуры могут быть вложенными; учетная карточка служащего может фактически выглядеть так:
struct person { char name[namesize]; char address[adrsize]; long zipcode; /* почтовый индекс */ long ss_number; /* код соц. Обеспечения */ double salary; /* зарплата */ struct date birthdate; /* дата рождения */ struct date hiredate; /* дата поступления на работу */ };
структура person содержит две структуры типа date. Если мы определим emp как
struct person emp;
то
emp.birthdate.month
будет ссылаться на месяц рождения. Операция указания члена структуры "." ассоциируется слева направо.