面试常考题。示例:
1 | typedef struct _A |
第一步,计算出结构体所有类型的所占大小。
1 | typedef struct _A |
第二步,选出最大值(上例中为8),作为对齐位
第三步,按照顺序,依次模拟内存堆放
1 | char a;//1 |
■□□□□□□□
1 | char a;//1 |
■■■■■□□□
1 | char a;//1 |
■■■■■□□□
■■■■□□□□
1 | char a;//1 |
■■■■■□□□
■■■■□□□□
■■■■■■■■
1 | char a;//1 |
■■■■■□□□
■■■■□□□□
■■■■■■■■
■■■■□□□□
1 | char a;//1 |
■■■■■□□□
■■■■□□□□
■■■■■■■■
■■■■■■■■
1 | char a;//1 |
■■■■■□□□
■■■■□□□□
■■■■■■■■
■■■■■■■■
■■□□□□□□
综上,一共占用40字节。