In Reply to: 关于结构地址对齐的疑问? posted by 虚则为 on January 12, 2004 at 05:37:55:
你的系统是所谓的WORD-ALIGNED而不是BYTE-ALIGNED。所以在结构1中,
ALIGNMENT是按数据类型DOUBLE来完成的。DOUBLE是8BYTES,CHAR也
按8BYTES来处理。所以结构1是16BYTES(你的结果有问题。结构1应当是16
BYTES而不是12)。
同样,结构2也是按DOUBLE来完成ALIGNMENT,因而结构2是24BYTES(16
分配给两个DOUBLE;8分配给CHAR)。