C语言关键字浅析-short

### 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语言关键字浅析-signed

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

 

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值