struct abc {
char a;
char b;
int c;
};
1_a
1_b
2_pad
4_c
sizeof(abc) = 8
---------------------------------------
struct abcd {
char a;
char b;
int c;
char d;
};
1_a
1_b
2_pad
4_c
1_d
3_pad
sizeof(abcd) = 12
这篇博客深入探讨了C语言中结构体的内存布局规则,通过两个实例展示了`struct abc`和`struct abcd`的成员排列及填充情况。文章详细解释了为什么`sizeof(abc)`等于8以及`sizeof(abcd)`等于12,揭示了内存对齐在效率和标准遵循方面的重要性。
struct abc {
char a;
char b;
int c;
};
1_a
1_b
2_pad
4_c
sizeof(abc) = 8
---------------------------------------
struct abcd {
char a;
char b;
int c;
char d;
};
1_a
1_b
2_pad
4_c
1_d
3_pad
sizeof(abcd) = 12
213

被折叠的 条评论
为什么被折叠?