默认情况下,int是否为C中的long int?

1s2*_*e7v 2 c

为什么我发现int和long int的大小显示为4个字节?是int默认是long int吗?

小智 9

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

这就是你可以依靠的一切.其余的完全取决于实施.在DOS的旧时代,16位编译器通常有sizeof(int)== sizeof(short)== 2.在32位系统上,sizeof(int)通常等于sizeof(long)== 4.通常拇指,int是处理器可以用最快的速度工作的类型.没有例外的规则......

编辑:删除了第二条规则,sizeof(short) < sizeof(long)这不是C标准的一部分.在某些平台上,sizeof(short)实际上可能等于sizeof(long).


sep*_*p2k 7

大小int既不保证4也不等于大小long int.换句话说:那是完全实现定义的.