C 표준 라이브러리 - <limits.h>


Introduction

limits.h 헤더 파일은 다양한 변수 유형의 다양한 속성을 결정합니다. 이 헤더 파일에 정의된 매크로는 다양한 변수 유형(char, int, long 등)의 값을 제한합니다.

이러한 제한은 변수가 이러한 제한을 초과하는 값을 저장할 수 없도록 지정합니다. 예를 들어 부호 없는 변수가 저장할 수 있는 최대값은 255입니다.

라이브러리 매크로

다음 값은 구현에 따라 다르며 #define 지시어를 통해 정의됩니다. 이러한 값은 아래 제공된 값보다 낮을 수 없습니다.

매크로 설명
CHAR_BIT8 바이트의 비트 수를 정의합니다.
SCHAR_MIN-128 부호 있는 문자의 최소값을 정의합니다.
SCHAR_MAX127 부호 있는 문자의 최대값을 정의합니다.
UCHAR_MAX255 부호 없는 문자의 최대값을 정의합니다.
CHAR_MIN0은 char 유형의 최소값을 정의합니다. char이 음수 값을 나타내는 경우 해당 값은 SCHAR_MIN과 같고, 그렇지 않으면 0과 같습니다.
CHAR_MAX127char 유형의 최대값을 정의합니다. char이 음수 값을 나타내는 경우 해당 값은 SCHAR_MAX와 같고, 그렇지 않으면 UCHAR_MAX와 같습니다.
MB_LEN_MAX1 멀티바이트 문자의 최대 바이트 수를 정의합니다.
SHRT_MIN-32768짧은 정수의 최소값을 정의합니다.
SHRT_MAX+32767짧은 정수의 최대값을 정의합니다.
USHRT_MAX65535 부호 없는 짧은 정수의 최대값을 정의합니다.
INT_MIN-32768정수의 최소값을 정의합니다.
INT_MAX+32767정수의 최대값을 정의합니다.
UINT_MAX65535부호 없는 정수의 최대값을 정의합니다.
LONG_MIN-2147483648긴 정수의 최소값을 정의합니다.
LONG_MAX+2147483647긴 정수의 최대값을 정의합니다.
ULONG_MAX4294967295 부호 없는 긴 정수의 최대값을 정의합니다.

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