C语言的组合数据类型有结构体,联合体和枚举类型
2.5.1 结构体
将很多基本的东西堆砌到一起,形成我们需要的复杂的变量。说白了,结构体就是我们自己发明的数据类型
使用结构体至少包括两个步骤:
(1)创建一个自定义的结构体类型
(2)用这个自己做出来的类型定义结构体变量
值得一提的是:结构体一般来讲会包含较多成员,结构体变量的尺寸会比一般的变量大,考虑到效率问题,一般不把结构体直接作为参数或者返回值,而是会传递结构体的地址(指针)
2.5.2 共用体
共用体(Union)也称联合体,也是将很多的变量放在一起,但是和结构体有本质的区别:结构体的各个成员各自独立,占用不同的内存空间,而联合体里面的各个成员的内存是“共用”的
2.5.3 枚举
C语言的枚举纯粹就是整数,可以给它赋任意的整数;不管使用宏来定义常量,还是使用枚举定义常量,目的只有一个:增强程序的可读性。