C基础-结构体-1-定义,初始化,赋值,使用

    科技2022-08-24  117

    背景:     设计程序时,最重要的步骤之一是选择表示数据的方法。     在许多情况下,简单变量甚至是数组还不够。     为此,C提供了结构变量(structure variable)提高你表示数据的能力,它能让你创造新的形式。

    概念:数据结构就是一种数据类型,可以建立不同的数据类型组合。

    定义:

        可以用一个步骤定义结构体,也可以用结构体标记分两步定义。     结构体三种定义方式: 

                1. 推荐使用这种             struct XXXX{                 成员,                 成员,                 .....                 .....             }; //定义新的数据类型                          struct  XXXX   变量名[,变量名,变量名[M]];                          2.             struct XXXX{                 成员,                 成员,                 .....                 .....             } 变量名[,变量名]; //定义新的数据类型                                       3.             struct {//省略数据类型名称                 成员,                 成员,                 .....                 .....             } 变量名[,变量名]; //定义新的数据类型,不建议使用

    初始化:     结构体初始化的方式:                  struct  stu          {             int num;             char name[20];             int score;         };                  第一种:         struct stu a =         {             001,             "xiaowang",             80,         };                  第二种(指定初始化项目):         建议使用:                  struct stu a =         {             .name ="xiaowang",             .num =1,             .score =90,  //最后一个逗号可要可不要,一般写上         };              结构体数组初始化的方式:         1.          struct stu a[2] =         {             {1001,”LiLi”,85},             {1002,”wang”,90},         };

            2.          struct stu  a[2]={                  [0].num = 1,             [0].name = "xiaowang",   //char name[20]="xiaowang";                                      //char name[20];  name="xiaowang";错误             [0].score = 80,                       [1].num = 2,             [1].name = "xiaocui",               [1].score = 90,

            };                          //以下书写方式,不建议使用          struct  student         {           int  num;           char  name[20];           int  score;         }st={1001,”wang”,95};                                   struct  student         {               int  num;               char  name[20];               int  score;         }st[2]=         {             {1001,”LiLi”,85},             {1002,”wang”,90},         };      赋值:      方法:变量名.成员名,来直接操作其中成员变量     struct  stu      {         int num;         char name[20];         int score;     };              struct stu a;          a.num = 0x0001;     strcpy(a.name,"happygrilclh");     a.score = 100;      使用 //引用结构体成员时,其实际意义由成员本身决定

    成员运算符 . 成员运算符和结构或联合名称一起使用,用来指定结构或联合的成员。 间接成员运算符 -> 间接成员运算符和指向结构或联合的指针一起使用,用来指明结构或联合的成员。

    Processed: 0.008, SQL: 9