C中的精确宽度整数类型(stdint.h)

ezp*_*sso 3 c size integer

我希望char,short和int类型的宽度为1,2和4字节.我在我的源代码中包含了一个stdint.h标题.这是否保证int8_t,int16_t和int32_t整数类型的宽度是指定的?实现这一目标的最佳方法是什么?

Jen*_*edt 7

如果存在这些类型,它们具有正确的宽度并以二进制补码编码.

编辑:你应该能够检查类型是否存在类似的东西

#ifdef INT32_MAX
...
#endif
Run Code Online (Sandbox Code Playgroud)

但是在所有最终用户体系结构(PC等)上,这些类型通常都存在.

  • @Conrad - 只有在它们无法使用的情况下.如果他们存在,他们必须在那里. (2认同)