【简单,却难于作答】union中的字节对齐
既然st_a已经占了6个字节,为什么union不就取这些空间呢?
union的8个字节是如何组织的?
#include "stdio.h"void main(){ union { long a; struct { char a1;//第一个字节a1,第二字节为填充位 short a2;//第三第四字节为a2 char a3;//第五字节a3,第六字节为填充位 }st_a; }un_a; printf("%d %d\n",sizeof(un_a.st_a),sizeof(un_a)); return;}