c语言int类型占的字节数因不因机子是64位还是32位的而改变啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言int类型占的字节数因不因机子是64位还是32位的而改变啊?相关的知识,希望对你有一定的参考价值。

int 类型在32位机子上占两个字节,那在64位机子上还是不是占两个字节啊?

是和编译器的位数有关,而不是操作系统或者CPU的位数

例如:
在16位编译器(例如:TC)上,int型占2个字节
在32位编译器(例如:VC,GCC,CFree等)上,int型占4个字节
参考技术A 整型量所占的长度和计算机的CPU字长有关,在16位机上整型量就占16位,在32位机上整型量就占32位,在64位机上整型量就占64位,即8个字节。

这种规定跟编译器有关,就看编译器怎么设计的了。
参考技术B 64位是处理器一次能处理的字长,跟编译器中的int没有直接关系 参考技术C 4

你直接写一个sizeof(int) 答案就是4

当然了 如果你的编译器是64位的话 那么你的int就是8了

那得看啥情况了
参考技术D 四位,而且在其他系统也不一样

以上是关于c语言int类型占的字节数因不因机子是64位还是32位的而改变啊?的主要内容,如果未能解决你的问题,请参考以下文章

int在64位操作系统中占多少位

在32位64位操作系统下各数据类型所占的字节数

16位,32位,64位机数据类型所占的字节数

c语言中数据类型的范围是根据啥计算的,麻烦详细点.谢谢!

C语言错题总结

C语言错题总结