union介绍
共用体,也叫联合体,在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,以达到节省空间的目的。union变量所占用的内存长度等于最长的成员的内存长度。
union与struct比较
先看一个关于struct的例子:
struct student { char mark; long num; float score; };
其struct的内存结构如下,sizeof(struct student)的值为12bytes。

下面是关于union的例子:
union test { char mark; long

共用体(Union)是C/C++中的一种数据类型,它允许多种不同类型的成员共享同一块内存,从而节省空间。与结构体(Struct)不同,Union中的成员会相互覆盖,只占用最长成员的内存大小。可以使用Union来测试CPU的大端或小端模式,但在C++中使用时需要注意,由于成员共享内存,故不宜包含带有构造函数、析构函数的类对象,避免引发错误或内存泄漏。
最低0.47元/天 解锁文章
270

被折叠的 条评论
为什么被折叠?



