目录
定义
联合也是一种特殊的自定义类型 这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间,地址一样(所以联合也叫共用体)。
联合体的对齐方式
对齐数:自身字节数与默认对齐数中的较小值,VS下默认对齐数8,gcc无默认对齐数
计算字节数的步骤
1.确定联合体中每一个成员的对齐数,数组类成员的对齐数是他每一个元素的对齐数。
2.确定联合体所有变量中的最大的对齐数。
3.整个联合体的大小至少是最大成员的大小(数组成员大小为元素大小乘以元素个数),同时也要是最大对齐数的整数倍。
举个栗子🌰
联合体判断小端或大端
小端:数据的低字节放在存储空间的低地址处,高字节放在存储空间的高地址处。
大端:数据的低字节放在存储空间的高地址处,高字节放在存储空间的低地址处。
我们可以通过去给一个整形变量赋值,再去取出里面的部分字节数,通过判断部分字节数里面的值,去判断是大端存储还是小端存储,例如:
用联合体去判断,其实和上面类似,几乎一模一样。