匿名结构是一个没有名称的结构成员,为了了解他的工做原理,咱们应该先考虑如何建立嵌套结构:web
//第一个结构
struct names
{
char first[20];
char last[20];
};
//第二个结构
struct person
{
int id;
struct names name; //嵌套结构成员
};
//初始化嵌套结构
struct person ted = {8483,{"Ted","Grass"}}; //访问names的成员:ted.name.xxx;
接下来让咱们看一下匿名结构(C11中,可使用嵌套的匿名结构定义person):svg
struct person
{
int id;
struct
{
char first[20];
char last[20];
};
};
//初始化Ted的方式相同:struct person ted = {8483,{"Ted","Grass"}};
//可是访问ted时简化了步骤,只需把first看作是person的成员那样使用它,如:
//puts(ted.first);
//固然也能够把first和last直接做为person的成员,删除嵌套结构。