C语言里int和short型变量的区别是什么??

我手里的一本谭浩强的C语言上说,这两种变量在内存中都是用两字节来表示。可表示的数字范围都是-32767——37678。
有点糊涂,那为什么还要把两种变量分开呢??

1、占用字节根据机型不同会有不同:

在一般的电脑中,int占用4字节,32比特,在之前的微型机中,int占用2字节,16比特。在32位平台下如windows(32位)中short一般为16位。

2、数值范围不同:

int在一般的电脑中,数据范围为-2147483648~2147483647[-2^31~2^31-1],在之前的微型机中,int数据范围为-32768~32767[-2^15~2^15-1]。C++ & C short为一种数据类型,范围-32768~+32767。

扩展资料:

整型数据的其它分类:

1、长整型:类型说明符为long int或long,在内存中占4个字节。

2、无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:

3、无符号基本型:类型说明符为unsigned int或unsigned。

4、无符号短整型:类型说明符为unsigned short。

5、无符号长整型:类型说明符为unsigned long。

short长度规则:依据程序编译器的不同short定义的字节数不同。标准定义short短整型变量不得低于16位,即两个字节。编译器头文件夹里面的limits.h定义了short能表示的大小:SHRT_MIN~SHRT_MAX。在32位平台下如windows(32位)中short一般为16位。

参考资料来源:百度百科-INT

参考资料来源:百度百科-short

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-05

一、字节数不同

1、int:int占用32字节,32比特。

2、short:短整型变量不得低于16位,即两个字节。

二、范围不同

1、int:数据范围为-2147483648~2147483647[-2^31~2^31-1]。

2、short:数据范围为范围-32768~+32767。


三、特点不同

1、int:除了int类型之外,还有short、long、long long类型可以表示整数。

2、short:依据程序编译器的不同short定义的字节数不同。


参考资料来源:百度百科-short

参考资料来源:百度百科-INT

本回答被网友采纳
第2个回答  推荐于2017-10-09
区别如下:

1 占用空间不同。
int占4个字节,short占2个字节。
2 可以表示数的范围不同。
int 的范围为-2147483648~ 2147483647;
short的范围为 -32768~ 32767。
3 用来输入输出的格式字符不同。
int用%d, short用%h。
用来输出的时候,short可以用%d。除此以外,不能混用。
第3个回答  2019-06-24

C++标准规定,int占一个机器字长。在32位系统中int占32位,也就是4个字节,而在老式的16位系统中,int占16位,即2个字节。而C++标准中只限制规定short int不能超过int的长度,具体长度的可以由C++编译器的实现厂商自行决定。目前流行的32位C++编译器中,通常int占4字节,short int占2字节。其中short int可以简写为short。类似地,C++标准只限制了long int不得小于int的长度,具体也没有作出限制。

第4个回答  推荐于2017-09-28
谭浩强的书太脑残,他那些东西都应该进博物馆

int一般都是4字节(32位)或者8字节(64位)
short一般是2字节(16位)相当于word或者int16

不过有个别操作系统或者编译器略有不同本回答被提问者采纳
相似回答