C语言中,"整型"跟"短整型"的取值范围都是 -32768~32767,请问两者有什么差别?

C语言中,"整型"跟"短整型"的取值范围都是 -32768~32767,请问两者有什么差别?

在需要用到“整型"变量的时候可以用“短整型”取代吗?

反之,“短整型”变量可以用“整型”变量取代吗?

谢谢各位大大!

C语言没有具体规定各类数据所占内存的字节数,只要求long型数据长于int型,short型短于int 型,是由计算机系统自行决定,有的short和 int都是16位,long 是32位,有的short为16位,long和int都是32位,通常是long 为32位,short为16位,而int可以是16位,也可以是32位
这两个都是用于存储整数.短整型的二进制位长是16,长整型的是32位.就是说长整型可以表示位数更多的整数.短整型所能表示的整数的值域为-32768~32767,长整型则为-2147483648~2147483647.例如,如果有个数为32780,那么它只能用长整型表示,而不能用短整型表示.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-09-25
"整型"跟"短整型"或长整型的长度与编译器有关,例如,同样是Windows XP计算机, 编译器TC和编译器VC的规定就不同。

short int 总是16位 -- 短整型
long int 总是32位 -- 长整型
int -- 与编译器有关,可能32位,也可能16位

短整型变量用整型取代,总是可以的。

整型用短整型替代,要看数值范围,有可能可以,有可能不行。
第2个回答  2007-09-27
现在的电脑基本都是32位机..
你用VS2005/2003的时候.建项目都会出现一个32位控制台..
int已经从16位扩展到了32位..占4个字节..和long int一样了..所以现在很少使用long int了.
而short int是16字节..占2个字节..差别嘛..应该就是
就是..所占用内存大小不同..还有..取值范围不同..
别的没啥区别了..
第3个回答  2007-09-27
我在AMD3600+,tc2.0/3.0/vc6.0下调试都是 4个字节的长度