union 联合体¶
union 联合体是一种构造类型的数据结构,在一个联合体中可以定义多种不同的数据类型,和结构体相似。
联合体变量可以存入其定义的任何一种数据类型,各成员变量共享一段内存空间,即每次只能赋一种值,赋入新值则覆盖旧值。一个联合体变量占用的空间等于各成员中最大的变量所占用的空间。
结构体和联合体的区别在于:
- 结构体(struct)中所有变量是“共存”的——优点是“有容乃大”,全面;
- 缺点是struct内存空间的分配是粗放的,不管用不用,全分配。
- 而联合体(union)中是各变量是“互斥”的——缺点就是不够“包容”;
- 但优点是内存使用更为精细灵活,也节省了内存空间。