结构体的对齐方式

看下面的几个结构体:

struct A {
int a;
char b;
};

struct B{
char a;
char b;
};

struct C{
short a;
char b;
};

计算三个结构体长度:

    struct A a1;
    struct B a2;
    struct C a3;
    
    NSLog(@"%d  %d  %d",sizeof(a1),sizeof(a2),sizeof(a3));

输出的结果为:

2012-10-09 14:31:19.965 Demo[49563:707] 8  2  4

说明是以高字节对齐的,每个结构体的长度是以它项的最高字节对齐的。

原文地址:https://www.cnblogs.com/foxmin/p/2716752.html