我刚刚遇到了一段代码片段,如下所示:
struct a {
int mem1;
char mem2;
struct {
int inner_mem1;
int inner_mem2;
};
};
我发现代码片段直接使用外部结构体变量名来访问内部结构体成员!!!例如:
struct a *avar;
....
avar->inner_mem1
这合法吗?虽然代码正在编译并正常工作,但是这样使用的目的是什么?有具体的应用场景吗?
请告诉我您的想法。