当前位置: C语言 -- 标准库 -- <limits.h>

<limits.h>头文件

<limits.h>头文件定义了多个宏,这些宏会扩展为标准整数类型的各种限制和参数。ISO/IEC 9899:2018标准第5.2.4.2.1 Sizes of integer types <limits.h>节列出了这些宏、它们的含义以及对其值的约束(或限制)。ISO/IEC 9899:2018标准Annex E部分对这些宏作了概括。

<limits.h>头文件中定义的宏应可替换为适用于#if预处理指令的常量表达式。

如果char类型对象可以是负值,宏CHAR_MIN和宏SCHAR_MIN值相同,宏CHAR_MAX和宏SCHAR_MAX值相同;否则宏CHAR_MIN值为0,宏CHAR_MAX和宏UCHAR_MAX值相同。宏UCHAR_MAX值等于2CHAR_BIT-1


<limits.h>头文件中定义的与整数类型有关的宏具体如下:

宏(macro):
CHAR_BIT 表示非位字段最小对象位数的宏。
CHAR_MAX 表示char类型对象最大值的宏。
CHAR_MIN 表示char类型对象最小值的宏。
INT_MAX 表示int类型对象最大值的宏。
INT_MIN 表示int类型对象最小值的宏。
LLONG_MAX 表示long long int类型对象最大值的宏。
LLONG_MIN 表示long long int类型对象最小值的宏。
LONG_MAX 表示long int类型对象最大值的宏。
LONG_MIN 表示long int类型对象最小值的宏。
MB_LEN_MAX 表示多字节字符最大字节数的宏。
SCHAR_MAX 表示signed char类型对象最大值的宏。
SCHAR_MIN 表示signed char类型对象最小值的宏。
SHRT_MAX 表示short int类型对象最大值的宏。
SHRT_MIN 表示short int类型对象最小值的宏。
UCHAR_MAX 表示unsigned char类型对象最大值的宏。
UINT_MAX 表示unsigned int类型对象最大值的宏。
ULLONG_MAX 表示unsigned long long int类型对象最大值的宏。
ULONG_MAX 表示unsigned long int类型对象最大值的宏。
USHRT_MAX 表示unsigned short int类型对象最大值的宏。