联合体 利用联合体判断大小端

联合体定义

联合体和结构体一样都是自定义类型。联合体也包含一系列成员,但是和结构体不一样的是这些成员共用一个空间。也就是说联合体内,任意一个成员地址在数值上都相等。

请看联合体的声明:

联合体 利用联合体判断大小端

利用联合体判断大小端

先请看下列代码:

联合体 利用联合体判断大小端


联合体 利用联合体判断大小端

由此,可以利用联合体判断大小端:

联合体 利用联合体判断大小端

同理,还有另一种方法判断大小端:

联合体 利用联合体判断大小端

联合大小的计算

结构体存在内存对齐,那联合存在吗?

由于联合中各成员共用同一段空间,所以联合长度至少可以容纳最大的成员。

但是当最大成员大小不是 最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍。

联合体 利用联合体判断大小端