首页 > 代码库 > C Library - <limits.h>
C Library - <limits.h>
Introduction
The limits.h header determines various properties of the various variable types. The macros defined in this header limits the values of various variable types like char, int and long.
These limits specify that a variable can not store any value beyond these limits, for example an unsigned character can store upto a maximum value of 255.
Library Macros
The following values are implementation-specific and defined with the #define directive, but these values may not be any lower than what is given here.
Macro | Value | Description |
---|---|---|
CHAR_BIT | 8 | Defines the number of bits in a byte. |
SCHAR_MIN | -128 | Defines the minimum value for a signed char. |
SCHAR_MAX | 127 | Defines the maximum value for a signed char. |
UCHAR_MAX | 255 | Defines the maximum value for an unsigned char. |
CHAR_MIN | 0 | Defines the minimum value for type char and its value will be equal to SCHAR_MIN if char represents negative values otherwise zero. |
CHAR_MAX | 127 | Defines the value for type char and its value will be equal to SCHAR_MAX if char represents negative values otherwise UCHAR_MAX |
MB_LEN_MAX | 1 | Defines the maximum number of bytes in a multibyte character. |
SHRT_MIN | -32768 | Defines the minimum value for a short int. |
SHRT_MAX | +32767 | Defines the maximum value for a short int. |
USHRT_MAX | 65535 | Defines the maximum value for an unsigned short int. |
INT_MIN | -32768 | Defines the minimum value for an int. |
INT_MAX | +32767 | Defines the maximum value for an int. |
UINT_MAX | 65535 | Defines the maximum value for an unsigned int. |
LONG_MIN | -2147483648 | Defines the minimum value for a long int. |
LONG_MAX | +2147483647 | Defines the maximum value for a long int. |
ULONG_MAX | 4294967295 | Defines the maximum value for an unsigned long int. |
Example
The following example shows the usage of few of the constants defined in limit.h file.
#include <stdio.h>#include <limits.h>int main(){ printf("The number of bits in a byte %d\n", CHAR_BIT); printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN); printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX); printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX); printf("The minimum value of SHORT INT = %d\n", SHRT_MIN); printf("The maximum value of SHORT INT = %d\n", SHRT_MAX); printf("The minimum value of INT = %d\n", INT_MIN); printf("The maximum value of INT = %d\n", INT_MAX); printf("The minimum value of CHAR = %d\n", CHAR_MIN); printf("The maximum value of CHAR = %d\n", CHAR_MAX); printf("The minimum value of LONG = %ld\n", LONG_MIN); printf("The maximum value of LONG = %ld\n", LONG_MAX); return(0);}
Let us compile and run the above program, this will produce the following result:
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
C Library - <limits.h>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。