C 라이브러리-<limits.h>
그만큼 limits.h헤더는 다양한 변수 유형의 다양한 속성을 결정합니다. 이 헤더에 정의 된 매크로는 char, int 및 long과 같은 다양한 변수 유형의 값을 제한합니다.
이러한 제한은 변수가 이러한 제한을 초과하는 값을 저장할 수 없음을 지정합니다. 예를 들어 부호없는 문자는 최대 값 255까지 저장할 수 있습니다.
라이브러리 매크로
다음 값은 구현별로 다르며 #define 지시문으로 정의되지만 이러한 값은 여기에 제공된 값보다 낮지 않을 수 있습니다.
매크로 | 값 | 기술 |
---|---|---|
CHAR_BIT | 8 | 바이트의 비트 수를 정의합니다. |
SCHAR_MIN | -128 | 부호있는 문자의 최소값을 정의합니다. |
SCHAR_MAX | +127 | 부호있는 문자의 최대 값을 정의합니다. |
UCHAR_MAX | 255 | 부호없는 문자의 최대 값을 정의합니다. |
CHAR_MIN | -128 | char 유형의 최소값을 정의하고 char이 음수 값을 나타내는 경우 해당 값은 SCHAR_MIN과 같고 그렇지 않으면 0입니다. |
CHAR_MAX | +127 | char 유형의 값을 정의하고 char이 음수 값을 나타내는 경우 해당 값은 SCHAR_MAX와 같고, 그렇지 않으면 UCHAR_MAX입니다. |
MB_LEN_MAX | 16 | 멀티 바이트 문자의 최대 바이트 수를 정의합니다. |
SHRT_MIN | -32768 | short int의 최소값을 정의합니다. |
SHRT_MAX | +32767 | short int의 최대 값을 정의합니다. |
USHRT_MAX | 65535 | unsigned short int의 최대 값을 정의합니다. |
INT_MIN | -2147483648 | int의 최소값을 정의합니다. |
INT_MAX | +2147483647 | int의 최대 값을 정의합니다. |
UINT_MAX | 4294967295 | unsigned int의 최대 값을 정의합니다. |
LONG_MIN | -9223372036854775808 | long int의 최소값을 정의합니다. |
LONG_MAX | +9223372036854775807 | long int의 최대 값을 정의합니다. |
ULONG_MAX | 18446744073709551615 | unsigned long int의 최대 값을 정의합니다. |
예
다음 예는에 정의 된 몇 가지 상수의 사용법을 보여줍니다. limits.h 파일.
#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);
}
다음 결과를 생성하는 위의 프로그램을 컴파일하고 실행 해 보겠습니다.
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 = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807