union关键字 称为共用体或联合体 ,从其功能来说我觉得共用体更合适,为什么这么说呢?解释如下:
union用来维护足够的空间来放置多个数据成员中的一种,在union中所有的数据共用一个存储空间,同时间只能存储其中一个数据成员,也只能用其中的这个数据成员,不能同时被用,所以它起到了一个压缩空间的作用,所有的成员具有相同的起始地址;一个union只配置一个足够大的空间来容纳最大长度的数据;例如
union statemachion{ char character;//一个字节 int number;//四个字节 double exp;//八个字节}
此例而言,最大长度的是double型,所以statemachion的空间大小就是double数据类型的大小。