Имя элемента структуры является составным. Для обращения к элементу структуры нужно указать имя структуры и имя самого элемента. Они разделяются точкой:
ИмяПеременной.ИмяЭлементаСтруктуры
printf("%d %s %d",bd.day, bd.month, bd.year);
Второй способ инициализации объектов языка Си с использованием функций ввода-вывода.
Пример
#include <stdio.h> #include <stdlib.h> struct date {
int day;
char *month;
int year; }; struct persone {
char firstname[20];
char lastname[20];
struct date bd; }; int main() {
system("chcp 1251");
system("cls");
struct persone p;
printf("Введите имя: ");
scanf("%s",p.firstname);
printf("Введите фамилию: ");
scanf("%s",p.lastname);
printf("Введите дату рождения\nЧисло: ");
scanf("%d",&p.bd.day);
printf("Месяц: ");
scanf("%s",p.bd.month);
printf("Год: ");
scanf("%d",&p.bd.year);
printf("\nВы ввели: %s %s, дата рождения %d %s %d года",
Имя структурной переменной может быть указано при объявлении структуры. В этом случае оно размещается после закрывающей фигурной скобки }. Область видимости такой структурной переменной будет определяться местом описания структуры.
struct complex_type // имя структуры {
double real;
double imag; } number; // имя структурной переменной
Поля приведенной структурной переменной: number.real, number.imag .