1.结构体简介
结构体(Struct)是C语言中的一种复合数据类型,也称为自定义类型,它可以允许用户自定义一个包含多个不同类型成员变量的数据结构。
在C语言中,可以用结构体来表示一个具有多个属性的实体,例如学生可以定义为一个结构体,其中包括姓名、年龄、性别、学号等属性。
struct student {
char name[20];
int age;
char gender;
int student_id;
};
上面的代码定义了一个名为student的结构体,其中包含4个成员变量:name、age、gender和student_id。
我们可以通过如下方式来声明并初始化一个student类型的变量:
struct student s = {"Tom", 20, 'M', 1001};
关于上面这段代码,先不看struct关键字,则有
student s = {"Tom", 20, 'M', 1001};
前面说过,结构体是一个自定义类型。说到类型,我们可以想到 int、char等类型。因此可以类比一下,
student s
相当于
int a
int a 的意思是定义一个整型变量。
同理,student s的意思是定义一个学生型变量,只不过这个变量是我们自己创建的。
2.结构体内部变量的访问和操作
student s = {"Tom", 20, 'M', 1001};
创建了一个结构体之后(上面的student),并用结构体定义了一个结构体变量(上面的s),我们该如何对它内部的成员变量进行访问呢?
在上面的代码中,我们可以通过 s. 对结构体内部的成员变量进行访问。
比如,修改年龄,可以这样做
s.age = 21
修改性别
s.gender = ‘W’
3.结构体的作用
结构体有以下几个作用:
数据封装:结构体可以把多个相关的数据封装在一起,形成一个整体,方便进行管理和维护。
数据组织:结构体可以用于组织和存储多个数据元素,例如链表、队列和树等数据结构。
代码模块化:结构体可以用于把相关的数据和函数封装在一起,形成一个代码模块,提高程序的可读性和可维护性。