以下は目次です。
ある符号付き整数型で表現できる最小値や最大値を使いたいとします。
たとえば、int型の変数を定義するとき、表現できる最小値や最大値で初期化したい場合、どのように書けるでしょうか。
int min = ???; // int型の最小値
int max = ???; // int型の最大値
符号付き整数型の最小値や最大値を定義したマクロが、標準ライブラリに用意されていますから、それを使います。
これらのマクロは limits.h で定義されています。また、ptrdiff_t型のようなほかの符号付き整数型については stdint.h で定義されています。
すべてではありませんが、代表的なものを以下に挙げます。
型 | 最小値マクロ | 最大値マクロ | ヘッダ |
---|---|---|---|
(signed) char | SCHAR_MIN | SCHAR_MAX | limits.h |
(signed) short | SHRT_MIN | SHRT_MAX | limits.h |
(signed) int | INT_MIN | INT_MAX | limits.h |
(signed) long | LONG_MIN | LONG_MAX | limits.h |
(signed) long long | LLONG_MIN | LLONG_MAX | limits.h |
ptrdiff_t | PTRDIFF_MIN | PTRDIFF_MAX | stdint.h |
#include <limits.h>
#include <stdio.h>
int main(void)
{
int iMin = INT_MIN;
int iMax = INT_MAX;
signed char cMin = SCHAR_MIN;
signed char cMax = SCHAR_MAX;
long long llMin = LLONG_MIN;
long long llMax = LLONG_MAX;
("%d %d\n", iMin, iMax);
printf("%hhd %hhd\n", cMin, cMax);
printf("%lld %lld\n", llMin, llMax);
printf}
実行結果:
-2147483648 2147483647
-128 127
-9223372036854775808 9223372036854775807
return 0;
を削除(C言語編全体でのコードの統一)
Programming Place Plus のトップページへ