联合体共占 4 字节空间。
联合体,就是将几种数据类型联合起来的一种数据结构,但是它们共用一个空间。它们占用的空间也是同一个地方,只是这些二进制数据当你把它看成浮点型的时候,它是浮点数当你把它看成无符号整数的时候,就是无符号数,或者你把这些数据看成有符号的数据,那么它就是有符号数据。
它既可以表示 Value,也可以修改其中的 Red、Green、Blue。但是也能发现这里还有一个空闲的 1 个字节,这是因为 Value 为四字节,所以只能按照最大的空间申请内存空间(联合体占用的内存空间总是等于当中最大的一个数据类型的大小)。
union占多少字节
联合体(union)
当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。如:
1union U
2 {
3 char s[9]
4 int n
5 double d
6 }
s占9字节,n占4字节,d占8字节,因此其至少需9字节的空间。然而其实际大小并不是9。