在单个UNIX或POSIX中保证sizeof(int)

F'x*_*F'x 6 unix posix sizeof

intSingle UNIX或POSIX 中的大小保证是什么?这肯定是常见问题,但我找不到答案......

ice*_*ime 3

<limits.h>C99标准通过以下方式规定了标头的内容:

\n\n
\n

它们的实现定义的值的大小(绝对值)应等于或大于所示的值,并具有相同的符号。

\n\n
    \n
  • int 类型对象的最小值
    \n INT_MIN -32767// -(2 15 - 1)
  • \n
  • int 类型对象的最大值
    \n INT_MAX +32767// 2 15 - 1
  • \n
  • unsigned int 类型的对象的最大值
    \n UINT_MAX 65535// 2 16 - 1
  • \n
\n
\n\n

类型上没有表达尺寸要求int

\n\n

但是,<stdint.h>标头提供了额外的精确宽度整数类型 int8_tint16_t、及其无符号对应类型int32_tint64_t

\n\n
\n

typedef 名称intN_t指定宽度为 N、无填充位和两个补码表示形式的有符号整数类型。因此,表示宽度为 8 位的int8_t有符号整数类型。

\n
\n