特定
struct S {
SomeType single_element_in_the_struct;
};
Run Code Online (Sandbox Code Playgroud)
这总是如此
sizeof(struct S) == sizeof(SomeType)
Run Code Online (Sandbox Code Playgroud)
或者它可能依赖于实现?
Jam*_*lis 14
通常会出现这种情况,但不能保证.
任何结构可能在结构的末尾都有未命名的填充字节,但这些通常用于对齐目的,如果您只有一个元素,则不需要考虑.
Sil*_*rom 13
由于结构填充,它不必相等.
C99标准中的第6.7.2.1节规定"结构对象中可能存在未命名的填充,但不是在其开头".
这被称为结构填充.可以添加填充以确保结构在存储器中正确对齐.如果更改其成员的顺序,结构的exakt大小可能会更改.
| 归档时间: |
|
| 查看次数: |
1751 次 |
| 最近记录: |