何时使用short而不是int?

man*_*nny 9 c

short想到的两个用例:

  1. 我想要一个至少16位大小的整数类型
  2. 我想要一个大小恰好是16位的整数类型

在第一种情况下,由于int保证至少为16位并且是最有效的积分数据类型,我会使用int.在第二种情况下,由于标准不保证short大小正好是16位,我会int16_t改为使用.那短暂的用途是什么?

Fre*_*Foo 8

short具有16位整数的C99环境中使用永远不会有理由; 你可以使用int16_t,int_fast16_t或者int_least16_t代替.

使用的主要原因short是向后兼容C89或较旧的环境,它们不提供这些类型,或者使用库short作为其公共API的一部分,用于实现<stdint.h>自身,或者与不具有16位整数的平台兼容他们的C编译器没有提供int16_t.