鉴于此代码:
#include <stdio.h>
typedef struct inside {
int insideMember;
} inside;
typedef struct outside {
// magic goes here
struct inside insideStruct;
} outside;
int main(int argc, char **argv)
{
outside x = {0};
printf("%d\n", x.insideStruct.insideMember);
// printf("%d\n", x.insideMember);
return 0;
}
我想改变outside
的定义,以便注释printf
起作用(也就是说,我可以直接访问嵌套成员)。
我知道我可以粘贴inside
的定义,以使outside
有一个匿名结构作为成员,但在实际代码中inside
必须包含其他许多内容需要直接访问的结构,我想避免在每个结构中复制整个块。