<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