<limits.h> - C語言標準庫
limits.h頭中確定各種變量類型的各種屬性。在這個頭中定義的宏限制的char,int和long類型,如各種變量的值。
這些限制指定一個變量,無法存儲任何值超越這些限制,例如一個無符號的字符最多可以存儲的最大值爲255。
庫宏
下面的值是特定於實現定義#define指令,但這些數值可能沒有任何比這裏給出更低(小)。
宏
值
描述
CHAR_BIT
8
定義了一個字節中的比特數。
SCHAR_MIN
-127
定義最小值簽署的字符。
SCHAR_MAX
127
定義最大值簽署的字符。
UCHAR_MAX
255
定義unsigned char類型的最大值。
CHAR_MIN
0
char類型定義最小值,它的值將等於SCHAR_MIN如果char表示負值,否則爲零。
CHAR_MAX
127
定義char類型的值,它的值將等於SCHAR_MAX的char代表負值,否則UCHAR_MAX,
MB_LEN_MAX
1
定義的最大字節數多字節字符。
SHRT_MIN
-32767
定義一個短整型的最小值。
SHRT_MAX
+32767
定義一個短整型的最大值。
USHRT_MAX
65535
定義一個無符號的短整型的最大值。
INT_MIN
-32767
定義類型爲int的最小值。
INT_MAX
+32767
定義一個int的最大值。
UINT_MAX
65535
定義一個unsigned int的最大值。
LONG_MIN
-2147483647
定義一個長整型的最小值。
LONG_MAX
+2147483647
定義一個長整型的最大值。
ULONG_MAX
4294967295
定義一個無符號長整型的最大值。
例子
下面的例子顯示的幾個常量定義在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 8
The minimum value of SIGNED CHAR = -128
The maximum value of SIGNED CHAR = 127
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -32768
The maximum value of INT = 32767
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -2147483648
The maximum value of LONG = 2147483647