C语言中int型整数变量和short型整数变量有什么区别

二者在内存中占得字节相同,能表示得最大值最小值也相同。就连分别对应的unsigned型也是。到底哪里不同呢????
f**k!

这跟机器字长有关,在16位机中,int是2字节,在32位机中,int是4字节,而short就是2字节,你可以用sizeof求出他们的字节数。
例如:
#include<iostream.h>
void main()
{
cout<<sizeof(int)<<endl;
cout<<sizeof(short)<<endl;
}

#include<stdio.h>
void main()
{
printf("%d " ,sizeof(int));
printf("%d",sizeof(short));
}
输出:(在32位机中)
4
2
4 2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-28
C/C++标准要求变量占用的空间满足
long >= int >= short >= char
即可,具体每种类型所占的字节长度由编译器决定。
这也是C程序移植性不好的原因之一。
第2个回答  2009-11-28
他们在内存中的字节不同
int所占内存是short所占内存的2倍
VC和TC环境下 字节数也不一样

因为所占内存所以可以表示的数值范围也不同
咯咯
第3个回答  2009-11-28
他们占得字节是不相同的,int占4个字节而short占的是2个字节,同理他们的取值范围也是不同的
第4个回答  2009-11-28
可以表现的数值范围不同
第5个回答  2019-09-18
这跟机器字长有关,在16位机中,int是2字节,在32位机中,int是4字节,而short就是2字节,你可以用sizeof求出他们的字节数。
例如:
#include<iostream.h>
void
main()
{
cout<<sizeof(int)<<endl;
cout<<sizeof(short)<<endl;
}

#include<stdio.h>
void
main()
{
printf("%d
"
,sizeof(int));
printf("%d",sizeof(short));
}
输出:(在32位机中)
4
2
4
2