为什么java中的int型占4个字节,而c语言中的int却占2个字节, 一个整型值占多少个字节不是取决于电脑吗?

如题所述

java 中 int总是4字节 没错,但是C不一样

在16位C编译器中,int是2字节,在32为C编译器中int为32位,在64位C编译器中int为8字节,C语言规定,int型是目标设备(16位或32位或64位CPU的机器等等)最适宜(不是最适宜也至少是挺适宜)的整数类型,且至少要2字节

也不能简单说取决于电脑,而应该说取决于编译为多少位的程序,编译为16位的基本就2字节,就像上面说的那样。然后 16位的程序也能在32位的机器上跑(比如你在32位的winxp机器里面跑16位的dos程序,虽然你的机器32位,但是那个16位程序里面认为int是2字节)
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-07-05
C的数据类型占的字节数不同应该和编译器有关,比如int和long不同编译器就不一样。
char就不一样了,java占两个字符,C占一个字符。这就像楼上说的java使用unicode编码,而C用ASCII编码。所以java要占两个字节,而且char可以存储汉字
而java和C在int方面没有可比性。C中的 int范围应该等于java的short吧本回答被提问者采纳
第2个回答  2010-10-05
如果我没说错的话这应该跟编程语言的编码方式有关
C语言的编码方式是ASCII码而Java用的是Unicode字节码
第3个回答  2010-10-06
因为JAVA类名可以中文,你试试可以运行
相似回答