国际访客建议访问 Primers 编程伙伴 国际版站点 > C 教程 > limits.h 以获得更好的体验。

# C 语言标准库头文件 limits.h

请查看 C 语言标准库头文件列表 了解更多相关 API。

这个头文件提供 整数范围限制 的相关功能,例如 int 的位宽度、最小值、最大值等。

#

标准 说明
BOOL_WIDTH C23 _Bool 的位宽度
BOOL_MAX C29 _Bool 的最大值
CHAR_BIT C89 字节的位宽度,通常是 8
MB_LEN_MAX C89 多字节字符的最大字节数
CHAR_WIDTH C23 char 的位宽度,同 CHAR_BIT
CHAR_MIN C89 char 的最小值
CHAR_MAX C89 char 的最大值
SCHAR_WIDTH C23 signed char 的位宽度
SHRT_WIDTH C23 short int 的位宽度
INT_WIDTH C23 int 的位宽度
LONG_WIDTH C23 long 的位宽度
LLONG_WIDTH C23 long long 的位宽度
SCHAR_MIN C89 singed char 的最小值
SHRT_MIN C89 short 的最小值
INT_MIN C89 int 的最小值
LONG_MIN C89 long 的最小值
LLONG_MIN C99 long long 的最小值
SCHAR_MAX C89 singed char 的最大值
SHRT_MAX C89 short 的最大值
INT_MAX C89 int 的最大值
LONG_MAX C89 long 的最大值
LLONG_MAX C99 long long 的最大值
UCHAR_WIDTH C23 unsigned char 的位宽度
USHRT_WIDTH C23 unsigned short 的位宽度
UINT_WIDTH C23 unsigned int 的位宽度
ULONG_WIDTH C23 unsigned long 的位宽度
ULLONG_WIDTH C23 unsigned long long 的位宽
UCHAR_MAX C89 unsigned char 的位最大值
USHRT_MAX C89 unsigned short 的位最大值
UINT_MAX C89 unsigned int 的位最大值
ULONG_MAX C89 unsigned long 的位最大值
ULLONG_MAX C99 unsigned long long 的位最大值

# 推荐阅读

# 示例

#include <stdio.h>
#include <limits.h>

int main(void) {
    printf("CHAR_BIT: %d\n", CHAR_BIT);
    printf("SCHAR_MIN: %d\n", SCHAR_MIN);
    printf("SCHAR_MAX: %d\n", SCHAR_MAX);
    printf("UCHAR_MAX: %u\n", UCHAR_MAX);
    printf("INT_MIN: %d\n", INT_MIN);
    printf("INT_MAX: %d\n", INT_MAX);
    printf("UINT_MAX: %u\n", UINT_MAX);
    printf("LONG_MIN: %ld\n", LONG_MIN);
    printf("LONG_MAX: %ld\n", LONG_MAX);
    printf("ULONG_MAX: %lu\n", ULONG_MAX);
    
    return 0;
}

运行结果:

CHAR_BIT: 8
SCHAR_MIN: -128
SCHAR_MAX: 127
UCHAR_MAX: 255
INT_MIN: -2147483648
INT_MAX: 2147483647
UINT_MAX: 4294967295
LONG_MIN: -9223372036854775808
LONG_MAX: 9223372036854775807
ULONG_MAX: 18446744073709551615
本文 更新于: 2025-11-27 09:38:06 创建于: 2025-11-27 09:38:06