C语言数据类型中int与short的区别

本人系c语言初学者,对数据类型中int和short的区别不是很明白。
基本型 int 2字节 -32768~32767
短整型 short 2字节 -32768~32767

同样的长度以及范围。为什么要分int和short.

看到有些书上说int可以为32位或16位,short只能为16位。

是这个原因吗??

(1)C/C++规定int字长和机器字长相同;
(2)操作系统字长和机器字长未必一致;
(3)编译器根据操作系统字长来定义int字长;
整形变量是不是32位这个问题不仅与具体的CPU架构有关,而且与编译器有关,所以int可以为32为或16为,而short为短整型变量,只能为16位。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-15
最本质的区别在于类型所占的字节数。一般来说,int占四字节,short占两字节。
在C语言中可以用sizeof运算符,获取数据类型或者变量所占的内存字节数。
示例代码如下:
#include <stdio.h>
int main()
{
printf("%d\t%d\t%d\n", sizeof(int), sizeof(short), sizeof(long));
return 0;
}
第2个回答  2010-06-30
int通常是32位的,特别的机才是16位的。
short就确实是2位的。
相似回答