c++ - C/C++ : Packing or padding data in a struct

标签 c++ c padding

我正在使用带有 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)返回68?添加 shortint 等后,我可以问更多的问题。但我认为这个问题现在很好。填充不会使处理器更容易处理结构吗?

最佳答案

char 的对齐方式仅为 1,因此无需填充结构来满足更大的对齐要求。

关于c++ - C/C++ : Packing or padding data in a struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9967855/

相关文章:

c - 如何将堆栈中的整数数组分配为 32 位对齐

c - 用户输入(字符串)写入文件,直到用户给出一个空行

keras - 为什么在最大池化中使用相同的填充?

c++ - 用零填充 vector

css - HTML5 表格单元格填充 - 在浏览器中有所不同

c++ - 链接器为某些上下文中使用的完整静态常量成员提供错误 "undefined symbol"

c++ - 对 `Example::Note::~Note()' protobuf 的 undefined reference

c - Clang 中的内置函数不是那么内置的吗?

c++ - 在 emacs 中将 .h 设置为 c++ 模式组

c++ - 输出以空格分隔的列表