Cam*_*ite 2 c memory-alignment
我知道结构的大小和对齐方式并不总是一样,但是对整数类型的大小和对齐有什么保证吗?例如,大小和对齐方式是否int始终相同或者它们可能不同?
为了证明我的问题,这个断言会不会失败?
int main() {
assert(_Alignof(int) == sizeof(int));
}
Run Code Online (Sandbox Code Playgroud)
整数类型的对齐和大小可以不同.例如在GCC x86 32位上:
_Alignof(long long) == 4
sizeof(long long) == 8
Run Code Online (Sandbox Code Playgroud)