鉴于此结构:
typedef struct test {
char field1[20];
char *field2;
} test_s
如何使用指定的初始化程序初始化这种结构,知道我希望field2指向field1?
test_s test = {.field1[0] = '\0', .field2 = .field1};
不起作用。
答案 0 :(得分:5)
如果是单项声明,您可以使用声明的变量的名称,因为编译器可以在初始化期间随时获取地址:
test_s test = {.field1[0] = '\0', .field2 = test.field1};