C语言关键字浅析-short

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Johan_Joe_King/article/details/84199532

### C语言关键字浅析系列 ###

### ISO/ANSI C 关键字 ###

short,本意是“短,矮”的意思,在C语言中声明一种短整数类型,与long相对应

short与int类似,是较早出现的数据类型和较早使用的关键字之一,使用short是希望在内存中的占用空间比int小

但目前只能说,short类型只保证其在内存中的占用空间小于等于int类型

short的作用是:

声明短整型变量。

1、表示的范围

上文说,short类型保证的只是在内存的占用长度不大于int,这是因为要兼顾不同的运行平台,即不同的机器

如Windows 3.1的IBM PC中,short和int都是2字节(16bit),而Windows XP和Macintosh PowerPC上,short是16bit,int是32bit

Pentium芯片和PowerPC G3芯片上,short又都是32bit,这样的short能表示更长的数值区间

但short使用的场合一般都是能在节省空间的情况下,表示常用的不太大的数,类似的在一些数据库中还有small int和tiny int的概念

以常见的16bit的short为例,来看看short的取值区间,这与int和long是类似的:

int(4byte = 32bit):-2147483648 ~ 2147483647

unsigned int(4byte = 32bit):0 ~ 4294967295

short(2byte = 16bit):-32768~32767

unsigned short(2byte = 16bit):0~65535

(注:-32767 ~ 32768是16位单位的机器中short类型和int类型的最小取值区间)

溢出的情况详见相关文章-关键字long

2、short的使用

与int类似,我们可以在int前加short表示声明为短整型:

short int a;        /* 在int前加short表示短整型 */
short b;            /* 省略int也表示短整型 */
unsigned short c;   /* 无符号短整型,正数区间更大 */

对于整数常量,C语言中没有类似于long那样的short常量(详见相关文章-关键字long)

3、short的输入输出

short的说明符是%h,带h前缀也表示short类型:

printf("%h");   /* 输出一个short类型变量值 */
printf("%hd, %ho, %hx");   /* 分别输出十进制、八进制、十六进制的short类型数,其中%hd是默认的 */
printf("%hu");   /* 无符号型short */

——参考《C Primer Plus第五版》

相关文章:

C语言关键字浅析-int

C语言关键字浅析-long​​​​​​​

C语言关键字浅析-unsigned

猜你喜欢

转载自blog.csdn.net/Johan_Joe_King/article/details/84199532