整数类型的对齐方式

问题描述 投票:2回答:1

我知道结构的大小和对齐方式并不总是相同,但是对整数类型的大小和对齐有什么保证吗?例如,int的大小和对齐是否始终相同或者它们可能不同?

为了证明我的问题,这个断言会不会失败?

int main() {
    assert(_Alignof(int) == sizeof(int));
}
c memory-alignment
1个回答
6
投票

整数类型的对齐和大小可以不同。例如在GCC x86 32-bit上:

_Alignof(long long) == 4
  sizeof(long long) == 8
© www.soinside.com 2019 - 2024. All rights reserved.