我来使用类型为uint16_t的变量,但由于我的项目限制,无法使用该数据类型。可以用unsigned short int代替uint16_t吗?
我不知道两者之间的区别。有人可以澄清一下吗?

最佳答案

uint16_t是无符号的16位整数。
unsigned short int是无符号的短整数,但是大小取决于实现。该标准只说它至少是16位(即UINT_MAX的最小值是65535)。实际上,它通常是16位,但是您不能保证它是正确的。

注意:

  • 如果要使用可移植的无符号16位整数,请使用uint16_t
  • inttypes.hstdint.h均在C99中引入。如果使用的是C89,请定义自己的类型。
  • 某些实现中可能未提供
  • uint16_t(请参阅下面的引用资料),但是unsigned short int始终可用。

  • 引用:C11(ISO/IEC 9899:201x)§7.20整数类型

    关于c - 在64位处理器的情况下,uint16_t和unsigned short int有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17693445/

    10-13 06:51