【发布时间】:2021-04-01 19:08:18
【问题描述】:
A tutorial on data padding 表示下面 C 结构中 int i 后面的 char c 需要 1 个填充字节。
struct test2
{
int i;
// 4 bytes
char c;
// 1 byte
// 1 padding byte. <-- question here
short s;
// 2 bytes
};
鉴于在这种情况下内存访问是 32 位,我想了解为什么不是 3 字节填充?
【问题讨论】:
-
我认为是因为在
char之后有short,尝试删除short,你应该看到sizeof(test2)为8
标签: c memory-management padding