1,共用体概念
使几个不同的变量占用同一段内存空间的的结构称为共用体,
共用类型的定义与结构体类型的定义一样
union 共用体名
{
数据类型 成员列表;
};
共用类型变量的定义与结构体变量定义也一样;
分之间定义与间接定义2种;
定义类型的同时定义变量,也可以先定义类型再定义变量;
union [data] { int i; char ch; float f; } un1,un2,un3;
共用变量占用的内存空间,等于最长成员的长度,而不是各个成员长度之和;
列如上面的共用体un1,un2,un3,在16位系统占用的内存空间为4个字节是最大的数据类型占用
3,共用体类型特点
1,共用体类型中,系统采用覆盖技术,实现共用变量各成员的内存共享,介于此,在某一时刻存放的和起作用的是最后一次存入的成员值. 由于所有成员共享同一内存空间,共用变量与各成员的地址相同. 共用体变量与结构体变量间区别 结构体类型变量所占内存长度是各成员所占内存长度和, 共用体类型变量,所占内存长度等于最长的成员长度.
4,枚举型
枚举类型定义 enum 枚举类型名 {取值列表}; 列如:enum weekdays {星期一,星期二,星期三,星期四,星期五,星期六,星期天}; 枚举型仅适应于取值有限的数据
typedef 别名类型申明,类似于linux命令alias;
C语言用typedef给系统数据类型定义别名
用以给已有数据类型定义新的别名,已有数据类型是指由系统提供的标志数据类型,或是自定义的数据类型,
typedef使用说明
http://netkiller-github-com.iteye.com/blog/1972504