structure s{
char a;
double b;
int c;
}d;
sizeof d是24.因为它出来是双重对齐到8字节边界。任何人都可以解释为什么它与8字节边界对齐而不是4字节边界。我读了一些所有元素都对齐到那里大小?为什么会如此
答案 0 :(得分:1)
对齐是实现定义的。
当对象类型存在对齐要求时,它是一个小于或等于对象类型大小的值。类型的对齐通常与类型的大小相同。
当遵循IEEE-754时,double
通常对应于IEEE-754
binary64
类型,其大小为8字节。