目录
- 一、结构体的声明
-
- 1.结构的基础知识
- 2.结构的声明
- 3.结构成员的类型
- 4.结构体变量的创建和初始化
- 二、结构体成员的访问
-
- 1.结构体变量访问结构体成员
- 2.结构体指针访问结构体成员
- 三、结构体传参
一、结构体的声明 1.结构的基础知识
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。数组是一组相同类型元素的集合,放在数组中的所有元素类型是相同的。
结构是一种集合。结构种的每个成员可以是不同类型。
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 结构体标签: 这表示一个结构体类型
成员列表: 可以有多个成员,每个成员有各自的数据类型和成员变量名。
结构体变量列表: 可以有多个变量,是使用结构体类型创建的变量,一般结构体变量列表省略不写,先进行结构体声明,之后再创建结构体变量。
3.结构成员的类型
结构的成员可以是标量、数组、指针,甚至是其他结构体。
文章图片
4.结构体变量的创建和初始化 结构体变量的创建:
文章图片
类型不占内存,只有用类型创建变量后才占用内存。
文章图片
结构体变量的初始化:
初始化: 创建变量的同时给变量赋值
文章图片
二、结构体成员的访问
结构体变量 . 结构体成员变量1.结构体变量访问结构体成员
结构体指针 -> 结构体成员变量
结构体变量通过点操作符(.)访问结构体成员2.结构体指针访问结构体成员
文章图片
结构体指针通过操作符(->)访问结构体成员。
文章图片
三、结构体传参
结构体传参的时候,要传结构体的地址。
如果传的是结构体变量,形参是实参的一份临时拷贝,会造成大量内存空间的浪费。
【【从0到1|c语言基础篇(结构体(初阶))】如果传的是结构体的地址,形参接收到的是个指针,形参部分只要开辟一个指针变量的大小的内存空间,只需要4个字节或8个字节,减少空间的浪费。
推荐阅读
- 【从0到1|c语言(查漏补缺(二))
- 【从0到1|初识c语言(一)
- 【从0到1|初识c语言(二)
- C语言|深度解析C语言之递归求解算法
- 基础知识|C语言递归
- 算法|二进制,八进制,十进制,十六进制的相互转换【简单易懂】
- c语言|在ARM64下编程的常见陷阱(C语言常见陷阱)
- 树莓派|树莓派镜像制作
- C语言|(师承郝斌老师)C语言——结构体