我正在使用带有 GNU GCC 编译器的 Code::Blocks IDE。
struct test
{
char a;
char e;
char f;
char b;
char d;
};
sizeof(test)
返回 5
。
我读了这个答案: Why isn't sizeof for a struct equal to the sum of sizeof of each member?
为什么最后一个char
后没有填充,所以sizeof(test)
返回6
或8
?添加 short
和 int
等后,我可以问更多的问题。但我认为这个问题现在很好。填充不会使处理器更容易处理结构吗?
最佳答案
char
的对齐方式仅为 1,因此无需填充结构来满足更大的对齐要求。
关于c++ - C/C++ : Packing or padding data in a struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9967855/