如结构体struct A 中,系统计算要给A分配的内存时,结构体最大元素占用字节数为8 linux 32位系统: 首先计算时,是增加4个字节,接着计算b需要的内存时,因为前面分配的4个字节,已 经全部用于元素a,则需要重新分配4个字节,而4个字节又不能存下b,所以再增加4个字节, 也就是12个字节。 linux 64为系统: 首先是增加8个字节,用于存贮a,计算b需要占用的内存时,减去a要占用的4个字节,也 就是剩下4个字节用于存储b,而b需要8个字节,所以需要重新分配8个字节,加起来就是16 个字节,而根据原则1,b的地址需要是8的倍数,也就是在分配的16个字节中,第8个字节开 始,用于存贮b。