short型与int型的区别

Turbo C中他们两个占用大小一样
那为什么还要分成两个
还有
有些编译系统long型与int型大小相同
也为什么要分成两个?
这样的话不就多余了?
注意
我的意思是short既然和int一样长
那么还要short干什么?

最本质的区别在于类型所占的字节数。一般来说,int占四字节,short占两字节。
在C语言中可以用sizeof运算符,获取数据类型或者变量所占的内存字节数。
示例代码如下:
#include <stdio.h>
int main()
{
printf("%d\t%d\t%d\n", sizeof(int), sizeof(short), sizeof(long));
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-15
前一时期,微型计算机的字长一般是16位,故以16位存放一个整数,但是整数的范围太小,往往不够用,因此将long定为32位。通常的做法是:把long定为32,把short定为16,而int可以16,也可以32位。
第2个回答  2008-08-15
C是面向计算机的编程语言,速度和跨硬件是基本的追求,int和机器字长一样,也就是和通用寄存器长度一样,因此速度最优。你可以想象一下,你的程序都用long,结果在16位机上运行,不慢死才怪呢。本回答被提问者采纳
第3个回答  2008-08-15
short两个字节,long四个字节,int和机器相关,不一定和short和long相同的
第4个回答  2019-03-11
C++规范里,对int
,short,long定义的标准是:
short至少16位
int至少于short一样长
long至少32位,且至少与int一样长
他们的差别就是在内存里,存储的时候,使用内存空间的大小
因为使用内存空间大小不同,因此他们能够表示的数值的范围也就不一样了.
另外,关于int用多少内存来存储,还要看具体的平台.目前windows下的编译器编译出来,int都是32位的.