C语言提供的五种自定义的构造数据类型:
数组: 是处理同一名字下的不同类型变量的结合体
结构: 是一种归在同一名字下相关的不同类型变量的结合,也可称为不同数据类型的集成体
位域:允许按为访问数据成员的一种特殊结构
联合:是两个或两个以上不同类型的成员分量公用同一内存空间的共享体
联合和结构区别:
联合类型变量所占内存空间不是各个成员所需存储空间字节数之和,而是联合成员需要存储空间最大的成员所要求的字节数
联合的各个成员共享一个公共的存储空间,在任何时刻,只能允许联合的一个成员驻留联合中,而对于结构来说,则是所有数据成员一直都驻留在结构中
枚举:一个自定义的有序标识符表 【enum】可以取只能取枚举中任意一个标识符
对枚举类型定义及变量的使用,其实质是编译程序将枚举中的每个标识符按次序用它们所对应的整型数来代替,类似数组下标
typedef 不能定义一种新的数据类型,但可以为已经存在的数据类型产生一个新的定义名 【定义别名】