一、同时定义多个变量
我们都知道C语言中变量的类型决定了变量存储占用的空间。当我们要使用一个变量保存年龄时可以将其声明为int
类型,当我们要使用一个变量保存某一科目的考试成绩时可以将其声明为float
。
那么,当我们要做一个学生信息管理系统时,需要保存学生的姓名、学号、年龄等信息,该怎么做呢?
如当要保存三个学生的信息时,
方法一是:
char *name1,*name2,*name3; // 三个学生的姓名
int num1,num2,num3; // 三个学生的学号
int age1,age2,age3; // 三个学生的年龄
方法二是:
// 创建结构体模板
struct student
{
char *name; // 学生名字
int num; // 学生学号
int age; // 学生年龄
};
// 使用该结构体模板创建三个变量stu1, stu2, stu3
struct student stu1, stu2, stu3;
显然,方法二跟更清晰,因为它把name、num、age
都集成在一个模板,要用的时候只要套用模板进行创建即可。这就是结构体
。
二、什么是结构体
结构体(struct)
是由一系列具有相同类型或不同类型的数据项构成的数据集合,这些数据项称为结构体的成员。如上面的student
结构体包含三个成员,分别是name、num、age
。
结构体是C语言中的一种构造类型。C语言的数据类型如下图: