- 一、结构体的声明
- 1.结构的基础知识
- 2.结构的声明
- 3.结构成员的类型
- 4.结构体变量的创建和初始化
- 二、结构体成员的访问
- 1.结构体变量访问结构体成员
- 2.结构体指针访问结构体成员
- 三、结构体传参
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。
结构是一种集合。结构种的每个成员可以是不同类型。
数组是一组相同类型元素的集合,放在数组中的所有元素类型是相同的。
2.结构的声明struct tag//(结构体标签)
{
//(成员列表)
//(类型名 成员变量名)
member-list;
}variable-list;//(结构体变量列表)
例如:
typedef struct Stu
{
char name[20];//名字
int age;//年龄
char sex[5];//性别
char id[20];//学号
}Stu;//分号不能丢
struct: 结构体关键字,它表明是个结构体,结构体的声明必须有struct。
结构体标签: 它是你给你的结构体类型取名字
struct 结构体标签: 这表示一个结构体类型
成员列表: 可以有多个成员,每个成员有各自的数据类型和成员变量名。
结构体变量列表: 可以有多个变量,是使用结构体类型创建的变量,一般结构体变量列表省略不写,先进行结构体声明,之后再创建结构体变量。
4.结构体变量的创建和初始化结构的成员可以是标量、数组、指针,甚至是其他结构体。
结构体变量的创建:
类型不占内存,只有用类型创建变量后才占用内存。
结构体变量的初始化:
初始化: 创建变量的同时给变量赋值
1.结构体变量访问结构体成员结构体变量 . 结构体成员变量
结构体指针 -> 结构体成员变量
2.结构体指针访问结构体成员结构体变量通过点操作符(.)访问结构体成员
三、结构体传参结构体指针通过操作符(->)访问结构体成员。
结构体传参的时候,要传结构体的地址。
如果传的是结构体变量,形参是实参的一份临时拷贝,会造成大量内存空间的浪费。
如果传的是结构体的地址,形参接收到的是个指针,形参部分只要开辟一个指针变量的大小的内存空间,只需要4个字节或8个字节,减少空间的浪费。



