비교 값의 최초값을 초기화 할 때 유용하게 사용되는 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);
}
반응형
'Reference > C lang - header' 카테고리의 다른 글
[C] float.h (0) | 2022.05.10 |
---|---|
[C] stdint.h (0) | 2022.05.09 |