构造类型,可以由多个不同类型的数据组成。
1>定义结构体类型(并不会分配存储空间):
struct Person{
int age;
double height;
char *name;
}
2>根据结构体类型,定义结构体变量:struct Person p={20,1.55,“jack”}
(这时候才会分配存储空间,把结构体名看作int等基本类型就很好理解了);
补齐算法:结构体所占的存储空间,必须是最大成员字节数的倍数!
struct Person{
int age;
double height;
char *name;
}per;
这句代码做了两件事情,定义结构体类型和用这个类型定义结构体变量。
即定义类型的同时定义变量。
结构体类型不能重复定义。结构体类型名称还可以省略。
struct{
int a;
char c;
}stu;
注意:结构体类型也是有作用域,从定义类型那一行开始,一直到代码块结束。
结构体数组:struct student records[3];
指向结构体的指针:struct student *p;
p=&stu;
结构体的嵌套定义:会用就好; |
|