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
C/C++标准要求兆敬变量占用的空间满足
long >= int >= short >= char
即可,具体每种类型所占的字节长度由编译器决定。
这族凯慎也是C程序移植孙灶性不好的原因之一。
他们在内存中的字节不同
int所占内存是short所占内存租樱厅的2倍
VC和TC环境下 字节数也不一样
因为所占内存所以可弊隐以表示的数值范围颂并也不同
咯咯
他们占得字节是不相同的,int占4个字节而short占的是2个字节,同理他们的取值范围也是不同的
可以表现的数值范围不同
这跟机器字长有关,在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