题目一 题目二 在 16 位机器上,通常以 2 字节为边界对齐。 首先看 char a,它占用 1 个字节。接着是 int b,占用 2 个字节。由于要满足边界对齐,在 char a后面会填充 1 个字节,使得 int b从 2 字节边界开始存储。最后是 char c,占用 1 个字节。 整个结构体总共占用的空间为:1(char a)+1(填充字节)+2(int b)+1(char c)+1(填充字节)=6 个字节。 如果不考虑边界对齐,应该占用 1 + 2 + 1 = 4 个字节。 所以由于边界对齐浪费了 2 个字节的空间。 题目三??? 题目四??? 题目五???