想到了两个我认为简短
的用例:
- 我想要一个大小至少为 16 位的整数类型
- 我想要一个大小正好为 16 位的整数类型
在第一种情况下,由于 int
保证至少为 16 位并且是最有效的整型数据类型,因此我将使用 int
。在第二种情况下,由于标准不保证 short
的大小恰好是 16 位,我会改用 int16_t
。那么短有什么用呢?
最佳答案
从来没有理由使用 short
在具有 16 位整数的 C99 环境中;你可以使用 int16_t
, int_fast16_t
或 int_least16_t
相反。
使用short
的主要原因向后兼容不提供这些类型的 C89 或更旧环境,或使用 short
的库作为其公共(public) API 的一部分,用于实现 <stdint.h>
本身,或者为了与没有 16 位整数的平台兼容,因此它们的 C 编译器不提供 int16_t
.
关于c - 什么时候使用 short 而不是 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10254511/