结构体是C语言中非常重要的概念。我们可以用结构体来描述复杂类型。
使用结构体可以类比为盖房子。我们需要先画出一张图纸,才能照着图纸盖房子。
举个例子。我们想创建一个关于学生的结构体类型。要想描述清楚一个学生,我们需要知道的信息有:名字+年龄+性别+学号。
所以我们就先画个图纸(描述清楚结构体中的成员变量):
这里我们描述清楚了结构体变量类型struct stu,注意这个类型就叫做struct stu,就跟什么int啊,char啊一样。
name, age,sex,id为成员变量,可以理解为struct stu为一个集合,name等只是其中的一个元素。就有一种类型里面还装着类型的感觉。
接着就可以盖房子了(创建结构体变量):
这里struct stu是结构体类型,可以理解为跟int差不多。s1为用结构体类型创建的一个变量的名字。初始化结构体变量需要用大括号括起来,里面是这个结构体变量的成员变量的初始化。比如把name初始化为张三,age初始化为18等等。
这里介绍一下结构成员访问操作符:.
没错就是一个很不起眼的小点。使用起来很简单,就是结构体变量名.结构成员变量名。
比如说我们想要打印一下s1的年龄,就可以这样:
还有另一种情况,我们拿到的是结构体变量的地址,就可以用
结构体指针变量->成员变量
来访问成员变量。



