在一个16位的机器,以下结构由于边界对齐浪费了多少空间()
struct{ char a; int b; char c; }
参考http://blog.csdn.net/andy572633/article/details/7213465
16位机器,默认对齐字节偏移量是(16/8)=2的倍数,故实际分配内存情况为
char a 1字节
int b (1+2)字节,偏移量取min{2,2},取2,所以补一个字节就够
char c (1+1)字节 总大小为4的倍数所以加1
总共8字节,为了对齐用了2字节