<limits.h> 是 C 语言标准库中的头文件,定义了整数类型的范围限制。这些定义是通过使用一组宏来表示的,这样可以确保整数类型在各个系统上都有一致的行为。

以下是 <limits.h> 中定义的一些常见的宏:

1. 整数类型的最小值和最大值:
   - CHAR_MIN**、**CHAR_MAX:char 类型的最小值和最大值。
   - SCHAR_MIN**、**SCHAR_MAX:signed char 类型的最小值和最大值。
   - UCHAR_MAX:unsigned char 类型的最大值。
   - SHRT_MIN**、**SHRT_MAX:short 类型的最小值和最大值。
   - USHRT_MAX:unsigned short 类型的最大值。
   - INT_MIN**、**INT_MAX:int 类型的最小值和最大值。
   - UINT_MAX:unsigned int 类型的最大值。
   - LONG_MIN**、**LONG_MAX:long 类型的最小值和最大值。
   - ULONG_MAX:unsigned long 类型的最大值。
   - LLONG_MIN**、**LLONG_MAX:long long 类型的最小值和最大值。
   - ULLONG_MAX:unsigned long long 类型的最大值。

2. 位数相关的宏:
   - CHAR_BIT:char 类型的比特数。
   - BITS_PER_BYTE:每个字节的比特数(通常等于 CHAR_BIT)。

3. 整数类型的取值范围:
   - INT_BIT**、**LONG_BIT**、**LLONG_BIT:分别表示 int、long 和 long long 类型的比特数。

这里是一个简单的例子,演示如何使用 <limits.h> 中的一些宏:
#include <stdio.h>
#include <limits.h>

int main() {
    printf("Minimum value for char: %d\n", CHAR_MIN);
    printf("Maximum value for char: %d\n", CHAR_MAX);

    printf("Minimum value for short: %d\n", SHRT_MIN);
    printf("Maximum value for short: %d\n", SHRT_MAX);

    printf("Minimum value for int: %d\n", INT_MIN);
    printf("Maximum value for int: %d\n", INT_MAX);

    printf("Minimum value for long: %ld\n", LONG_MIN);
    printf("Maximum value for long: %ld\n", LONG_MAX);

    printf("Minimum value for long long: %lld\n", LLONG_MIN);
    printf("Maximum value for long long: %lld\n", LLONG_MAX);

    return 0;
}

这个程序输出了不同整数类型的最小值和最大值。请注意,<limits.h> 中的这些宏提供了与具体实现无关的整数类型的范围信息。


转载请注明出处:http://www.zyzy.cn/article/detail/3203/C语言