关于匿名结构的学习总结

匿名结构(C11)

匿名结构是一个没有名称的结构成员,为了了解他的工作原理,我们应该先考虑如何创建嵌套结构:

//第一个结构
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):

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的成员,删除嵌套结构。

你可能感兴趣的:(C语言学习总结,c语言,结构,struct)