C编译器编译结构体时的对齐原则

来源:互联网 发布:临沂软件开发 编辑:程序博客网 时间:2024/06/05 01:09

1.结构体的大小,必须是结构体中最宽成员的大小的整数倍;

2.成员的地址相对与结构体首地址的偏移量,必须是该成员宽度的整数倍。

上述的宽度,单位是字节。

例如:

classA
{
        inta;
        shortb;
        intc;
        chard;
};
classB
{
        doublea;
        shortb;
        intc;
        chard;
};
编译后

sizeof(A) = 16;

sizeof(B) = 24;

0 0
原创粉丝点击