GCC (https://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/Unnamed-Fields.html#Unnamed-Fields) 允许在联合/结构体中定义一个无名称的联合/结构体,例如:
struct
{
int a;
union //无名称的联合
{
int b;
float c;
};
int d;
} foo;
可以直接访问无名称联合体的成员,例如: foo.b。
如果直接定义一个匿名结构体,使用gcc编译会报warning" warning: unnamed struct/union that defines no instances ",在结构体内定义匿名结构体则不会有warning。例如: