Microsoft 专用
下表列出了 C 和 C++ 整数类型的限制。 这些限制在 C 标准标头文件 <limits.h> 中定义。 C++ 标准库标头 <limits> 包括 <climits>,其中包括 <limits.h>。
Microsoft C 还允许声明固定大小的整数变量,即大小为 8 位、16 位、32 位或 64 位的整数类型。 有关 C 中固定大小整数的详细信息,请参阅固定大小整数类型。
对整数常量的限制
| 常量 | 含义 | “值” |
|---|---|---|
| CHAR_BIT | 不是位域的最小变量中的位数。 | 8 |
| SCHAR_MIN |
signed char 类型的变量的最小值。 |
-128 |
| SCHAR_MAX |
signed char 类型的变量的最大值。 |
127 |
| UCHAR_MAX |
unsigned char 类型的变量的最大值。 |
255 (0xff) |
| CHAR_MIN |
char 类型的变量的最小值。 |
-128;如果使用了 /J 选项,则为 0 |
| CHAR_MAX |
char 类型的变量的最大值。 |
127;如果使用了 /J 选项,则为 255 |
| MB_LEN_MAX | 多字节字符中的最大字节数。 | 5 |
| SHRT_MIN |
short 类型的变量的最小值。 |
-32768 |
| SHRT_MAX |
short 类型的变量的最大值。 |
32767 |
| USHRT_MAX |
unsigned short 类型的变量的最大值。 |
65535 (0xffff) |
| INT_MIN |
int 类型的变量的最小值。 |
-2147483647 - 1 |
| INT_MAX |
int 类型的变量的最大值。 |
2147483647 |
| UINT_MAX |
unsigned int 类型的变量的最大值。 |
4294967295(0xffffffff) |
| LONG_MIN |
long 类型的变量的最小值。 |
-2147483647 - 1 |
| LONG_MAX |
long 类型的变量的最大值。 |
2147483647 |
| ULONG_MAX |
unsigned long 类型的变量的最大值。 |
4294967295(0xffffffff) |
| LLONG_MIN |
long long 类型的变量的最小值。 |
-9,223,372,036,854,775,807 - 1 |
| LLONG_MAX |
long long 类型的变量的最大值。 |
9,223,372,036,854,775,807 |
| ULLONG_MAX |
unsigned long long 类型的变量的最大值。 |
18,446,744,073,709,551,615 (0xffffffffffffffff) |
如果值超出了最大整数表示形式,则 Microsoft 编译器会产生错误。
结束 Microsoft 专用