我short想到的两个用例:
在第一种情况下,由于int保证至少为16位并且是最有效的积分数据类型,我会使用int.在第二种情况下,由于标准不保证short大小正好是16位,我会int16_t改为使用.那短暂的用途是什么?
在short具有16位整数的C99环境中使用永远不会有理由; 你可以使用int16_t,int_fast16_t或者int_least16_t代替.
使用的主要原因short是向后兼容C89或较旧的环境,它们不提供这些类型,或者使用库short作为其公共API的一部分,用于实现<stdint.h>自身,或者与不具有16位整数的平台兼容他们的C编译器没有提供int16_t.