<limits.h> 是C语言标准库中的头文件,定义了整数数据类型的一些特性,如取值范围和位数。以下是 <limits.h> 中一些常见的宏:

整数类型取值范围

1. CHAR_BIT

   表示一个字节中的比特数。

2. SCHAR_MIN, SCHAR_MAX

   表示 signed char 类型的最小和最大值。

3. UCHAR_MAX

   表示 unsigned char 类型的最大值。

4. CHAR_MIN, CHAR_MAX

   表示 char 类型的最小和最大值,可以是 signed 或 unsigned。

5. SHRT_MIN, SHRT_MAX

   表示 short 类型的最小和最大值。

6. USHRT_MAX

   表示 unsigned short 类型的最大值。

7. INT_MIN, INT_MAX

   表示 int 类型的最小和最大值。

8. UINT_MAX

   表示 unsigned int 类型的最大值。

9. LONG_MIN, LONG_MAX

   表示 long 类型的最小和最大值。

10. ULONG_MAX

    表示 unsigned long 类型的最大值。

11. LLONG_MIN, LLONG_MAX

    表示 long long 类型的最小和最大值。

12. ULLONG_MAX

    表示 unsigned long long 类型的最大值。

其他常量

1. MB_LEN_MAX

   表示一个多字节字符的最大长度。

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

int main() {
    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("CHAR_MIN: %d\n", CHAR_MIN);
    printf("CHAR_MAX: %d\n", CHAR_MAX);

    printf("SHRT_MIN: %d\n", SHRT_MIN);
    printf("SHRT_MAX: %d\n", SHRT_MAX);

    printf("USHRT_MAX: %u\n", USHRT_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);

    printf("LLONG_MIN: %lld\n", LLONG_MIN);
    printf("LLONG_MAX: %lld\n", LLONG_MAX);

    printf("ULLONG_MAX: %llu\n", ULLONG_MAX);

    printf("MB_LEN_MAX: %d\n", MB_LEN_MAX);

    return 0;
}

这个示例演示了 <limits.h> 中一些常见宏的值。这些宏对于确保整数类型在不同平台上具有一致的特性非常有用。在编写需要考虑整数范围和位数的代码时,这些宏提供了关键的信息。


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