规则是这样的,嘉盛从0x00000000地址开始存储成员,那么a偏移为1,但是b必须从2的地址开始,那么a就必须填充一个字节,那么a b 共占用4个字节,c需要从4字节的整数倍开始,现在正好,上述不用填充,d也从可以被4整除的字节数开始存储(现在正好,其实也是8字节的整数倍,这是凑巧了),连续填充8个字节,现在便宜0x0000010,那么e的大小为0x00000011,但是整个结构体的大小不是4字节的整数倍,最后需要填充3个字节,整体是0x00000014,如果将最后两行注释去掉,那么仍然是20字节,需要填充的就是g填充1个字节。规则是这样的,嘉盛从0x00000000地址开始存储成员,那么a偏移为1,但是b必须从2的地址开始,