为什么sizeof运算符在结构上使用时总是给出不同的字节数 比实际用于存储数据的结果(我期望的是什么)?
答案 0 :(得分:1)
并不总是如此。它取决于编译器对结构的打包。 Paking取决于架构的对齐规则。
答案 1 :(得分:1)
来自THIS帖子
这是因为结构对齐。结构对齐是指 编译器将未使用的内存插入结构的能力 以便数据成员最佳地对齐以获得更好的性能。 许多处理器在存储基本数据类型时性能最佳 字节地址是它们大小的倍数。
通过将最大数据类型放在结构的开头,将最小的数据类型放在结构的末尾,可以最小化结构的大小