본문 바로가기
Reference/C lang - header

[C] limits.h

by 초보개발자_푸른서 2022. 5. 9.

비교 값의 최초값을 초기화 할 때 유용하게 사용되는 header이다. 
자신이 선언한 자료형의 범위를 값으로 쉽고, 가독성 있게 사용할 수 있다.

[참고] C언어의 변수들은 시스템과 컴파일러 별로 조금씩 다른 크기를 가진다. 

 

char CHAR_MIN CHAR_MAX
short SHRT_MIN SHRT_MAX
int INT_MIN INT_MAX
long LONG_MIN LONG_MAX
long long LLONG_MIN LLONG_MAX
unsigned char 0 UCHAR_MAX
unsigned short 0 USHRT_MAX
unsigned int 0 UINT_MAX
unsigned long 0 ULONG_MAX
unsigned long long 0 ULLONG_MAX

[주의!] 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 CHAR = %d\n", CHAR_MIN);
   printf("The maximum value of CHAR = %d\n", CHAR_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 LONG = %ld\n", LONG_MIN);
   printf("The maximum value of LONG = %ld\n", LONG_MAX);
   
   printf("The minimum value of LONG LONG = %ld\n", LLONG_MIN);
   printf("The maximum value of LONG LONG = %ld\n", LLONG_MAX);
   
   printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);
   printf("The maximum value of UNSIGNED SHORT = %d\n", USHRT_MAX);
   printf("The maximum value of UNSIGNED INT = %d\n", UINT_MAX);
   printf("The maximum value of UNSIGNED LONG = %d\n", ULONG_MAX);
   printf("The maximum value of UNSIGNED LONG LONG = %d\n", ULLONG_MAX);
  
   return(0);
}

 

참고 - https://en.cppreference.com/w/c/types/limits​​

반응형

'Reference > C lang - header' 카테고리의 다른 글

[C] float.h  (0) 2022.05.10
[C] stdint.h  (0) 2022.05.09