引入
前面我们所见到的程序中,变量都是独立存在的,我们定义 a、b、c,那他们就只是单独存在的变量而已,在内存中的地址也是互不相干的~但是~~
实际生活中,有些数据是有内在联系的,成组出现的。
例如,一个学生,可能包含:
学号、姓名、性别、年龄、成绩、家庭地址等
这些信息往往是成组的出现。
所以,我们希望把这些数据合并在一起,成为一个组合数据,例如组成数据 student_1 的变量,这个变量中就包含了学号为1的学生的上述信息,这样我们写入和调用时就方便多了!
为什么数组不行
一个变量名,包含多重信息,咦,这不是跟数组很像吗?为什么不用数组来解决这个问题呢?因为:
数组的每个元素的数据类型是相同的,我们需要的显然是不同类型的数据,例如 姓名 和 学号。
所以,为了解决这个问题,C 语言就允许用户自己建立由不同类型数据组成的组合型数据结构,它称为结构体。
在其它的高级语言中,称为记录。
举个例子
我们根据上面学生的例子,亲手建立一个结构体。
struct Student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}; //注意,这里有一个分号