联合类型(又称共同体类型),一种能够表示多种数据(类型可以相同可以不同,变量名字不同就行)的数据类型。
1. 联合类型的定义
union <联合类型名> {<成员表>};
与结构类型类似,只是把struct 换成了 union.
在语义上,联合类型和结构类型的区别是,联合类型的所有成员占用同一块内存空间,该内存的空间大小是其最大成员的内存空间大小。
2. 操作
在程序运行的不同时刻,可以把联合类型的变量当做不同类型的变量来使用。(如果成员有三种类型,就可以当做三种类型来使用。)
联合类型的复制是按占有的整个内存空间中的内容进行复制,而不是按某个成员来赋值。
3. 联合类型除了可以实现用一种类型表示多种类型的数据外,还可以实现多个数据共享内存空间,从而节省了内存空间。所以,当一些大型的数组变量,当它们的使用分布在程序的各个阶段时(不是同时使用),就可以使用联系类型来描述。