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