limits.hに定義されている型の最大値、最小値のマクロ
limits.hに定義されている型の最大値、最小値のマクロです。
表にまとめてみました。
| INT_MAX | int型の最大値 |
| INT_MIN | int型の最小値 |
| UINT_MAX | unsigned int型の最大値 |
| CHAR_MAX | char型の最大値 |
| CHAR_MIN | char型の最小値 |
| UCHAR_MAX | unsigned char型の最大値 |
| SCHAR_MAX | signed char型の最大値 |
| SCHAR_MIN | signed char型の最小値 |
| LONG_MAX | long型の最大値 |
| LONG_MIN | long型の最小値 |
| ULONG_MAX | unsigned long型の最大値 |
| SHRT_MAX | short型の最大値 |
| SHRT_MIN | short型の最小値 |
| USHRT_MAX | unsigned short型の最大値 |
サンプルコード
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main(){
printf(" int型の最大値 =%d\n", INT_MAX );
printf(" int型の最小値 =%d\n", INT_MIN );
printf(" unsigned int型の最大値 =%d\n", UINT_MAX );
printf(" char型の最大値 =%d\n", CHAR_MAX );
printf(" char型の最小値 =%d\n", CHAR_MIN );
printf(" unsigned char型の最大値 =%d\n", UCHAR_MAX );
printf(" signed char型の最大値 =%d\n", SCHAR_MAX );
printf(" signed char型の最小値 =%d\n", SCHAR_MIN );
printf(" long型の最大値 =%ld\n", LONG_MAX );
printf(" long型の最小値 =%ld\n", LONG_MIN );
printf(" unsigned long型の最大値 =%ld\n", ULONG_MAX );
printf(" short型の最大値 =%d\n", SHRT_MAX );
printf(" short型の最小値 =%d\n", SHRT_MIN );
printf(" unsigned short型の最大値 =%d\n", USHRT_MAX );
return 0;
}
下記が実行結果になります。
$ ./sample int型の最大値 =2147483647 int型の最小値 =-2147483648 unsigned int型の最大値 =-1 char型の最大値 =127 char型の最小値 =-128 unsigned char型の最大値 =255 signed char型の最大値 =127 signed char型の最小値 =-128 long型の最大値 =9223372036854775807 long型の最小値 =-9223372036854775808 unsigned long型の最大値 =-1 short型の最大値 =32767 short型の最小値 =-32768 unsigned short型の最大値 =65535
