union

在C/C++语言中,有时需要在同一段内存单元中存放不同类型的变量,如把一个整形变量int、一个字符型变量char和一个双精度实型变量double放在同一个地址开始的内存单元中,这3个变量虽然在内存中占的字节数不同,但都从同一地址开始,使用覆盖技术,后一个数据覆盖了前面的数据。这便是联合体union(或者叫共用体)诞生的目的所在。其主要特点是:

union中可以定义多个成员,union的大小由最大的成员的大小决定union成员共享同一块大小的内存,一次只能使用其中的一个成员对union某一个成员赋值,会覆盖其他成员的值

参考:https://blog.csdn.net/Qsir/article/details/86507647

原文地址:https://www.cnblogs.com/code-fun/p/15407764.html