结构体的声明:
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" };