C语言中int short long 的具体区别是什么? C语言中int short long 的具体区别是什么?

C\u8bed\u8a00\u91ccint\u548cshort\u578b\u53d8\u91cf\u7684\u533a\u522b\u662f\u4ec0\u4e48\uff1f\uff1f

1\u3001\u5360\u7528\u5b57\u8282\u6839\u636e\u673a\u578b\u4e0d\u540c\u4f1a\u6709\u4e0d\u540c\uff1a
\u5728\u4e00\u822c\u7684\u7535\u8111\u4e2d\uff0cint\u5360\u75284\u5b57\u8282\uff0c32\u6bd4\u7279\uff0c\u5728\u4e4b\u524d\u7684\u5fae\u578b\u673a\u4e2d\uff0cint\u5360\u75282\u5b57\u8282\uff0c16\u6bd4\u7279\u3002\u572832\u4f4d\u5e73\u53f0\u4e0b\u5982windows(32\u4f4d)\u4e2dshort\u4e00\u822c\u4e3a16\u4f4d\u3002
2\u3001\u6570\u503c\u8303\u56f4\u4e0d\u540c\uff1a
int\u5728\u4e00\u822c\u7684\u7535\u8111\u4e2d\uff0c\u6570\u636e\u8303\u56f4\u4e3a-2147483648~2147483647[-2^31~2^31-1]\uff0c\u5728\u4e4b\u524d\u7684\u5fae\u578b\u673a\u4e2d\uff0cint\u6570\u636e\u8303\u56f4\u4e3a-32768~32767[-2^15~2^15-1]\u3002C++ & C short\u4e3a\u4e00\u79cd\u6570\u636e\u7c7b\u578b\uff0c\u8303\u56f4-32768~+32767\u3002

\u6269\u5c55\u8d44\u6599\uff1a
\u6574\u578b\u6570\u636e\u7684\u5176\u5b83\u5206\u7c7b\uff1a
1\u3001\u957f\u6574\u578b\uff1a\u7c7b\u578b\u8bf4\u660e\u7b26\u4e3along int\u6216long\uff0c\u5728\u5185\u5b58\u4e2d\u53604\u4e2a\u5b57\u8282\u3002
2\u3001\u65e0\u7b26\u53f7\u578b\uff1a\u7c7b\u578b\u8bf4\u660e\u7b26\u4e3aunsigned\u3002\u65e0\u7b26\u53f7\u578b\u53c8\u53ef\u4e0e\u4e0a\u8ff0\u4e09\u79cd\u7c7b\u578b\u5339\u914d\u800c\u6784\u6210\uff1a
3\u3001\u65e0\u7b26\u53f7\u57fa\u672c\u578b\uff1a\u7c7b\u578b\u8bf4\u660e\u7b26\u4e3aunsigned int\u6216unsigned\u3002
4\u3001\u65e0\u7b26\u53f7\u77ed\u6574\u578b\uff1a\u7c7b\u578b\u8bf4\u660e\u7b26\u4e3aunsigned short\u3002
5\u3001\u65e0\u7b26\u53f7\u957f\u6574\u578b\uff1a\u7c7b\u578b\u8bf4\u660e\u7b26\u4e3aunsigned long\u3002
short\u957f\u5ea6\u89c4\u5219\uff1a\u4f9d\u636e\u7a0b\u5e8f\u7f16\u8bd1\u5668\u7684\u4e0d\u540cshort\u5b9a\u4e49\u7684\u5b57\u8282\u6570\u4e0d\u540c\u3002\u6807\u51c6\u5b9a\u4e49short\u77ed\u6574\u578b\u53d8\u91cf\u4e0d\u5f97\u4f4e\u4e8e16\u4f4d\uff0c\u5373\u4e24\u4e2a\u5b57\u8282\u3002\u7f16\u8bd1\u5668\u5934\u6587\u4ef6\u5939\u91cc\u9762\u7684limits.h\u5b9a\u4e49\u4e86short\u80fd\u8868\u793a\u7684\u5927\u5c0f\uff1aSHRT_MIN~SHRT_MAX\u3002\u572832\u4f4d\u5e73\u53f0\u4e0b\u5982windows(32\u4f4d)\u4e2dshort\u4e00\u822c\u4e3a16\u4f4d\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-INT
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-short

short\uff0cint\uff0clong\u90fd\u8868\u793a\u6574\u578b\u503cbai\uff0c\u5b58\u50a8\u7a7a\u95f4\u7684\u5927\u5c0f\u4e0d\u4e00\u6837\u3002\u4e00\u822c\uff0cshort\u4e3a\u534a\u4e2a\u673a\u5668du\u5b57zhi\u957f\uff0cint\u4e3a\u4e00dao\u4e2a\u673a\u5668\u5b57\u957f\uff0c\u800clong\u4e3a\u4e00\u4e2a\u6216\u4e24\u4e2a\u673a\u5668\u5b57\u957f\uff08\u572832\u4e3a\u673a\u5668\u4e2dint\u548clong\u5b57\u957f\u76f8\u540c\uff09\u3002\u5bf9\u4e8e\u666e\u901a\u7535\u8111\u4e13\u90fd\u662f32\u4e3a\u5b57\u5c5e\u957f\u6240\u4ee5\uff1ashort
\u4e3a2\u5b57\u8282int
\uff0clong
\u4e3a4\u5b57\u8282

三种类型,在类型定义、占用字节数、数据范围等方面存在不同点。

1、定义不同

int类型称为整型;

short类型称为短整型;

long类型称为长整型;

2、占用字节数不同

short int型变量两个字节(两个字节);

int类型四个字节(32位机中);

long int取值为8个字节(32位机中);

3、数据范围不同

short int型变量取值为-(2的16次方)+1 到 (2的15次方)-1;

int类型变量取值为-(2的32次方)+1 到 (2的31次方)-1;

long类型变量取值为-(2的64次方)+1 到 (2的63次方)-1;

扩展资料

1、具体占用几个字节C语言并没有规定,C语言做了宽泛的限制:

1)、short int类型至少占用2个字节。

2)、int类型建议为一个机器字长。32位环境下机器字长为4字节,64位环境下机器字长为8字节。

3)、short类型的长度不能大于 int,long类型的长度不能小于 int。

参考资料

百度百科-C语言



最本质的区别在于类型所占的字节数。一般来说,int占四字节,short占两字节,long占4或者8字节。


在C语言中可以用sizeof运算符,获取数据类型或者变量所占的内存字节数。示例代码如下:

#include <stdio.h>
 
int main()
{
printf("%d%d%d
", sizeof(int), sizeof(short), sizeof(long));
return 0;
}


short,int,long都表示整型值,存储空间的大小不一样。一般,short为半个机器字长,int为一个机器字长,而long为一个或两个机器字长(在32为机器中int和long字长相同)。对于普通电脑都是32为字长所以:short 为2字节int ,long 为4字节

int 是整型 有16位 能表示从 —32768到32767之间的数字short int 跟int 没什么差别 都是16位 表示数字的范围也一样long int 是长整型 能表示从2e-30到2e30-1之间的数字

三者在内存中占得字节相同,能表示得最大值最小值也相同。就连分别对应的unsigned型也是。

扩展阅读:c语言short截断 ... c语言short int和int区别 ... int a[3][4] ... short int和short一样吗 ... 在c语言中int char和short ... c语言printf用法例子 ... short sell ... c语言int 转换为short ... short int输出 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网