C 为什么双字节对齐到8字节边界而不是4字节边界
可能重复:C 为什么双字节对齐到8字节边界而不是4字节边界,c,structure,C,Structure,可能重复: d的大小是24。作为double,它与8字节边界对齐。有人能解释为什么它与8字节边界对齐,而不是4字节边界。我读到一些东西,所有元素都与该大小对齐吗?为什么实现定义了对齐 当对象类型有对齐要求时,该值小于或等于对象类型的大小。类型的对齐方式通常与类型的大小相同 当遵循IEEE-754时,double通常对应于大小为8字节的IEEE-754binary64类型。对齐由实现定义 当对象类型有对齐要求时,该值小于或等于对象类型的大小。类型的对齐方式通常与类型的大小相同 当遵循IEEE-7
d的大小是24。作为double,它与8字节边界对齐。有人能解释为什么它与8字节边界对齐,而不是4字节边界。我读到一些东西,所有元素都与该大小对齐吗?为什么实现定义了对齐 当对象类型有对齐要求时,该值小于或等于对象类型的大小。类型的对齐方式通常与类型的大小相同
当遵循IEEE-754时,double通常对应于大小为8字节的
IEEE-754
binary64
类型。对齐由实现定义
当对象类型有对齐要求时,该值小于或等于对象类型的大小。类型的对齐方式通常与类型的大小相同
当遵循IEEE-754时,
double
通常对应于大小为8字节的IEEE-754
binary64
类型。@SteveJessop感谢您的更正,我更新了我的answer@SteveJessop谢谢你的更正,我更新了我的答案
structure s{
char a;
double b;
int c;
}d;