Ответ 1
Вам нужно использовать больше брекетов (на самом деле они необязательны, но GCC предупреждает в эти дни). Вот пример:
struct s1 { int a; int b; };
struct s2 { int c; struct s1 s; };
struct s2 my_s2 = { 5, { 6, 3 } };
Как инициализировать структуру, если одно поле в структуре является структурой?
Спасибо.
Вам нужно использовать больше брекетов (на самом деле они необязательны, но GCC предупреждает в эти дни). Вот пример:
struct s1 { int a; int b; };
struct s2 { int c; struct s1 s; };
struct s2 my_s2 = { 5, { 6, 3 } };
Вы можете инициализировать структуру, если одно поле в структуре является структурой
struct add{
int house;
char road;
};
struct emp{
int phone;
struct add a;
};
struct emp e = { 123456, 23, "abc"};
printf("%d %d %c",e.phone,e.a.house,e.a.road);
struct A
{
int n;
}
struct B
{
A a;
} b;
Вы можете инициализировать n следующим оператором. Это то, что вы ищете.
b.a.n = 10;