【c语言】联合及其应用(大小端的判断)

一、联合体的定义

        联合体也叫共用体,因为他的所有成员都是公用同一块空间,所以当现实世界中一件事物存在多个属性但是又不能同时存在的时候就适合使用联合体进行定义。

二、联合的存储结构

         联合也存在对齐,其对齐的是最大成员与默认对齐数的较小值的整数倍。(数组看的是元素类型而不是数组的大小)

        当对齐数的某个整数倍能够放得下其最大成员时,这个数字就是其所占内存大小。

【c语言】联合及其应用(大小端的判断)_第1张图片

 这个联合的对齐数是4, 4*5 = 20能够放得下str,所以大小为20;

【c语言】联合及其应用(大小端的判断)_第2张图片

 最大成员:2*11 = 22;

最大对齐数:4;

所以大小为:4*6 = 24

三、联合的应用

【c语言】联合及其应用(大小端的判断)_第3张图片

原理: 

【c语言】联合及其应用(大小端的判断)_第4张图片 

 

你可能感兴趣的:(学习,c语言)