两者最大的区别是内存的使用
一 结构体struct
各成员各自拥有自己的内存,各自使用互不干扰,同时存在的,遵循内存对齐原则。一个struct变量的总长度
等于所有成员的长度之和
二 联合体union
各成员共用一块内存空间,并且同时只有一个成员可以得到这块内存的使用权(对该内存的读写)
各变量共用一个内存的首地址,因此联合体比结构体更节约内存。一个union的总长度至少能容纳最大成员变量,而且要满足
所有成员变量类型大小的整数倍。不可以对联合体变量直接赋值或者其他操作。
两者最大的区别是内存的使用
一 结构体struct
各成员各自拥有自己的内存,各自使用互不干扰,同时存在的,遵循内存对齐原则。一个struct变量的总长度
等于所有成员的长度之和
二 联合体union
各成员共用一块内存空间,并且同时只有一个成员可以得到这块内存的使用权(对该内存的读写)
各变量共用一个内存的首地址,因此联合体比结构体更节约内存。一个union的总长度至少能容纳最大成员变量,而且要满足
所有成员变量类型大小的整数倍。不可以对联合体变量直接赋值或者其他操作。