C 표준 라이브러리 - <limits.h>
Introduction
limits.h 헤더 파일은 다양한 변수 유형의 다양한 속성을 결정합니다. 이 헤더 파일에 정의된 매크로는 다양한 변수 유형(char, int, long 등)의 값을 제한합니다.
이러한 제한은 변수가 이러한 제한을 초과하는 값을 저장할 수 없도록 지정합니다. 예를 들어 부호 없는 변수가 저장할 수 있는 최대값은 255입니다.
라이브러리 매크로
다음 값은 구현에 따라 다르며 #define 지시어를 통해 정의됩니다. 이러한 값은 아래 제공된 값보다 낮을 수 없습니다.
매크로 | 값 | 설명 |
---|---|---|
CHAR_BIT | 8 | 바이트의 비트 수를 정의합니다. |
SCHAR_MIN | -128 | 부호 있는 문자의 최소값을 정의합니다. |
SCHAR_MAX | 127 | 부호 있는 문자의 최대값을 정의합니다. |
UCHAR_MAX | 255 | 부호 없는 문자의 최대값을 정의합니다. |
CHAR_MIN | 0 | 은 char 유형의 최소값을 정의합니다. char이 음수 값을 나타내는 경우 해당 값은 SCHAR_MIN과 같고, 그렇지 않으면 0과 같습니다. |
CHAR_MAX | 127 | char 유형의 최대값을 정의합니다. char이 음수 값을 나타내는 경우 해당 값은 SCHAR_MAX와 같고, 그렇지 않으면 UCHAR_MAX와 같습니다. |
MB_LEN_MAX | 1 | 멀티바이트 문자의 최대 바이트 수를 정의합니다. |
SHRT_MIN | -32768 | 짧은 정수의 최소값을 정의합니다. |
SHRT_MAX | +32767 | 짧은 정수의 최대값을 정의합니다. |
USHRT_MAX | 65535 | 부호 없는 짧은 정수의 최대값을 정의합니다. |
INT_MIN | -32768 | 정수의 최소값을 정의합니다. |
INT_MAX | +32767 | 정수의 최대값을 정의합니다. |
UINT_MAX | 65535 | 부호 없는 정수의 최대값을 정의합니다. |
LONG_MIN | -2147483648 | 긴 정수의 최소값을 정의합니다. |
LONG_MAX | +2147483647 | 긴 정수의 최대값을 정의합니다. |
ULONG_MAX | 4294967295 | 부호 없는 긴 정수의 최대값을 정의합니다. |
Example
다음 예에서는 Limit.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 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