一,基本概念
我们知道,C语言是一门面向过程的编程语言,没有类的概念。那么我们在实际开发中,又往往会遇到要使用复杂数据类型的时候,这时候结构体就显得尤为重要。
C语言允许用户自己指定这样一种数据结构,它由不同类型的数据组合成一个整体,以便引用,这些组合在一个整体中的数据是互相联系的,这样的数据结构称为结构体,它相当于其它高级语言中记录。
声明一个结构休类型的一般形式如下:
struct 结构体名
{成员列表};
如:
struct student
{
int num;
char name[20];
char sex;
};
注意:结构体名不是变量名,仅仅是一个标示符。前面整个的结构体的构建,也不会占用系统的内存单元,只有用结构体定义了结构体变量,才会占用内存单元。
定义结构体的几大方式:
1,先声明结构体,再定义结构体变量
比如我们使用上面已经声明好的结构体,再来定义变量:struct student stu1,stu2,stu3; 其中,struct student 为结构体类型名称,stu1,stu2,stu3; 才是结构体变量,既然是结构体变量,系统就会为之分配内存单元。
注意:定义结构体变量时,不能仅仅告诉编译器它是个结构体,我们通常在定义一个整形变量时,会这么写: int a = 10; 但是我们在定义结构体时就不能这么写了:struct stu1; 还应当告诉编译器它是属于什么结构体,struct后还应该跟上student;才对。
2,在声明结构体的同时,定义结构体变量