我知道结构的大小和对齐方式并不总是相同的,但是是否可以保证整数类型的大小和对齐方式?例如,int
的大小和对齐方式是否始终相同或不同?
为了证明我的问题,这个断言不会失败吗?
int main() {
assert(_Alignof(int) == sizeof(int));
}
答案 0 :(得分:6)
整数类型的对齐方式和大小可以不同。例如在GCC x86 32-bit上:
_Alignof(long long) == 4
sizeof(long long) == 8