ZHCADC5A June 2013 – June 2020
结构体成员会被分配从 0 开始的偏移量。每个成员会被分配满足其对齐要求的最低可用偏移量。成员之间可能需要进行填充,以便满足此对齐约束。
联合体成员全部被分配 0 偏移量。
C++ 类的底层表示是一个结构体。在本文档的其他地方,术语结构体 也适用于类。
结构体或联合体的对齐要求等同于其成员中最严格的对齐要求,包括下一节中所述的位字段容器。通过在最后一个成员之后插入填充,存储器中的结构体或联合体大小将向上舍入为其对齐的倍数。如节 3.3中的规定,在栈上按值传递的结构体和联合体具有特殊的对齐规则。
在小端模式下,寄存器中的结构体始终右对齐;也就是说,第一个字节占用寄存器(如果是寄存器对,则为偶数寄存器)的 LSB,结构体的后续字节将填充到寄存器中递增的有效字节中。MSP430 仅使用小端模式。