<limits.h> - C语言标准库

来源:互联网 发布:莎拉 巴雷斯坦 知乎 编辑:程序博客网 时间:2024/05/17 02:26

limits.h头中确定各种变量类型的各种属性。在这个头中定义的宏限制的char,int和long类型,如各种变量的值。

这些限制指定一个变量,无法存储任何值超越这些限制,例如一个无符号的字符最多可以存储的最大值为255。

库宏

下面的值是特定于实现定义#define指令,但这些数值可能没有任何比这里给出更低(小)。

宏值描述CHAR_BIT8定义了一个字节中的比特数。SCHAR_MIN-127定义最小值签署的字符。SCHAR_MAX127定义最大值签署的字符。UCHAR_MAX255定义unsigned char类型的最大值。CHAR_MIN0char类型定义最小值,它的值将等于SCHAR_MIN如果char表示负值,否则为零。CHAR_MAX127定义char类型的值,它的值将等于SCHAR_MAX的char代表负值,否则UCHAR_MAX,MB_LEN_MAX1定义的最大字节数多字节字符。SHRT_MIN-32767定义一个短整型的最小值。SHRT_MAX+32767定义一个短整型的最大值。USHRT_MAX65535定义一个无符号的短整型的最大值。INT_MIN-32767定义类型为int的最小值。INT_MAX+32767定义一个int的最大值。UINT_MAX65535定义一个unsigned int的最大值。LONG_MIN-2147483647定义一个长整型的最小值。LONG_MAX+2147483647定义一个长整型的最大值。ULONG_MAX4294967295定义一个无符号长整型的最大值。

例子

下面的例子显示的几个常量定义在limit.h文件的用法。

#include <stdio.h>#include <limits.h>int main(){   printf("The number of bits in a byte %d", CHAR_BIT);   printf("The minimum value of SIGNED CHAR = %d", SCHAR_MIN);   printf("The maximum value of SIGNED CHAR = %d", SCHAR_MAX);   printf("The maximum value of UNSIGNED CHAR = %d", UCHAR_MAX);   printf("The minimum value of SHORT INT = %d", SHRT_MIN);   printf("The maximum value of SHORT INT = %d", SHRT_MAX);    printf("The minimum value of INT = %d", INT_MIN);   printf("The maximum value of INT = %d", INT_MAX);   printf("The minimum value of CHAR = %d", CHAR_MIN);   printf("The maximum value of CHAR = %d", CHAR_MAX);   printf("The minimum value of LONG = %ld", LONG_MIN);   printf("The maximum value of LONG = %ld", LONG_MAX);     return(0);}

让我们编译和运行上面的程序,这将产生以下结果:

The number of bits in a byte 8The minimum value of SIGNED CHAR = -128The maximum value of SIGNED CHAR = 127The maximum value of UNSIGNED CHAR = 255The minimum value of SHORT INT = -32768The maximum value of SHORT INT = 32767The minimum value of INT = -32768The maximum value of INT = 32767The minimum value of CHAR = -128The maximum value of CHAR = 127The minimum value of LONG = -2147483648The maximum value of LONG = 2147483647
0 0
原创粉丝点击