制限.h

limits.h は、さまざまな整数型 (文字型を含む) の値の範囲を定義するためのマクロを提供します。

  • CHAR_BIT: 各文字に含まれる 2 進数の数。
  • SCHAR_MIN: signed char型の最小値。
  • SCHAR_MAX: signed char型の最大値。
  • UCHAR_MAX: unsiged char型の最大値。
  • CHAR_MIN: char型の最小値。
  • CHAR_MAX: char型の最大値。
  • MB_LEN_MAX: マルチバイト文字に含まれる最大バイト数。
  • SHRT_MIN: short int型の最小値。
  • SHRT_MAX: short int型の最大値。
  • USHRT_MAX: unsigned short int 型の最大値。
  • INT_MIN: int型の最小値。
  • INT_MAX: int型の最大値。
  • UINT_MAX: unsigned int型の最大値。
  • LONG_MIN:long int型の最小値。
  • LONG_MAX:long int型の最大値。
  • ULONG_MAX: unsigned long int 型の最大値。
  • LLONG_MIN:long long int型の最小値。
  • LLONG_MAX:long long int型の最大値。
  • ULLONG_MAX: unsigned long long int 型の最大値。

次の例では、前処理ディレクティブを使用して、int 型を使用して 100000 を超える数値を格納できるかどうかを判断します。

#if INT_MAX < 100000
  #error int 型が小さすぎます
#endif

上記の例では、int 型が小さすぎる場合、プリプロセッサはエラー メッセージを表示します。

limit.h 内のマクロを使用して、型エイリアスの正しい基礎となる型を選択できます。

#if INT_MAX >= 100000
  typedef int 数量;
#それ以外
  typedef long int 数量;
#endif

上記の例では、整数型の最大値 (INT_MAX) が 100000 以上の場合、型エイリアス quantint を指し、それ以外の場合は long int を指します。


作者: wangdoc

アドレス: https://wangdoc.com/

ライセンス: クリエイティブ・コモンズ 3.0