int变量的大小

Roh*_*hit 3 c int processor 32bit-64bit

如何确定int的大小?

int的大小是否真的取决于处理器.对于32位机器,它将是32位,对于16位,它是16位.

在我的机器上它显示为32位,虽然机器安装了64位处理器和64位Ubuntu.

小智 8

这取决于实施.C标准唯一保证的是

sizeof(char) == 1
Run Code Online (Sandbox Code Playgroud)

sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)
Run Code Online (Sandbox Code Playgroud)

以及类型的一些可表示的最小值,暗示char至少8位长,int至少16位等.

所以它必须由实现(编译器,操作系统,......)决定并记录下来.

  • @detly 该编译器的创建者当然很有幽默感。 (2认同)