前言
我们前面所见的变量大多数是相互独立的、没有内在联系的,在内存中地址也是互不相干的,但在实际生活和工作中我们常常用到一些数据它们之间是有联系的,我们再把它们单独定义就难以体现出它们的内在联系;如一个学生的性别、姓名、学号、年龄等数据的储存,这样的一组数据我们还好去定义,但若是多个学生这样的数据我们再这样一个一个去定义就既麻烦也难以体现出这些数据的联系,当然我们学过数组,可以用数组去储存一组数据,但数组只能存储相同数据类型的数据,学生的性别、姓名、学号、年龄等数据是不同数据类型的数据,不能用数组去储存;在C语言中允许我们自己去定义一个组合型的数据结构将不同类型的数据储存在一起 —— 结构体
下面就让我们一起来聊一聊结构体吧
首先是如何声明一个结构体类型
声明一个结构体类型的一般形式为
struct 结构体名
{ 成员表列};
结构体类型的名字是由一个关键字 struct 和结构体名组合而成的;成员列表是对各成员进行类型声明,即 类型名 成员名;
声名一个 struct Student 结构体类型
struct Student
{
int num;
int age;
char sex;
char name[20];
};
结构体类型的声明只是建立了一个结构体类型,并没有定义变量;相当于我们自己定义了一个如同 int、char、double、float 等性质的数据类型,叫结构体类型,我们需要用这个类型去定义变量。
如何定义结构体类型变量
定义结构体类型变量有如下三种方法
1、先声明结构体类型,再定义该类型的变量
struct Student
{
int num;
int age;
char sex;
char name[20];
};
struct Student St