2019-11-25

结构体的声明:

struct Stu

{

   char name[20];

   int age;

   char sex[5];

   double tel;

};

声明了一个学生的结构体,struct结构体关键字,Stu叫做结构体名,大括号里是它的成员,其中包括名字,年龄,性别,电话。

当结构体声明好的时候,并没有向内存申请空间,当创建了结构体变量struct Stu s1时,才向内存申请了空间。

特殊声明:(匿名结构体类型)

struct

{

   char name[20];

   int age;

   char sex[5];

   double tel;

}s1,s2;

匿名结构体类型变量,在声明这个结构体的时候就要定义s1,s2这些变量。

匿名结构体类型在成员变量一样的时候,但因为匿名,它也会被编译器认为成两种不同的类型。所以这是非法的。

结构体成员:

struct Stu

{

   char name[20];

   int age;

   char sex[5];

};

如何去访问结构体的成员呢?用操作符 .或者->


struct Stu s1;

   strcpy(s1.name, "lili");

   s1.age = 20;

   strcpy(s1.sex, "male");

struct Stu *pstu;

   (*pstu).age = 20;

   pstu->age = 20;

结构体初始化:

struct Stu s1 = { “lili” , 20 , “nv” };

也可以在声明结构体定义变量的时候进行初始化。

struct Stu

{

   char name[20];

   int age;

   char sex[5];

}s1 = { "lili" ,  20 ,  "nv" };

你可能感兴趣的:(2019-11-25)