このヘッダの目的
<limits.h>は、処理系による数値の最大値や最小値などを定義する。 <float.h>も参照のこと。
定義済み識別子
働き
このヘッダファイルで定義されるマクロはすべて定数であり、#ifディレクティブで条件式として使える。
CHAR_BITとMB_LEN_MAXを除いて、全てのマクロは処理系によって変化するかもしれないが、その値はここに示すものと等しいか、
より大きい絶対値を持っていなければならない。つまり、負の数なら小さいほうに可変である。
また、CHAR_MAXはcharがsigned charだった場合はSCHAR_MAX、そうでなければUCHAR_MAXとなり、CHAR_MINはcharがsigned charだった場合はSCHAR_MIN、
そうでなければ0となる。
名前 | 値 | 意味 |
---|---|---|
CHAR_BIT | 8 | charに入るビット数 |
CHAR_MAX | SCHAR_MAXまたはUCHAR_MAX | charが表せる最大値 |
CHAR_MIN | SCHAR_MINまたは0 | charが表せる最小値 |
INT_MAX | +32767 | intが表せる最大値 |
INT_MIN | -32767 | intが表せる最小値 |
LONG_MAX | +2147483647 | longが表せる最大値 |
LONG_MIN | -2147483647 | longが表せる最小値 |
MB_LEN_MAX | 1 | 複バイト文字の最大バイト数 |
SCHAR_MAX | +127 | signed charが表せる最大値 |
SCHAR_MIN | -127 | signed charが表せる最小値 |
SHRT_MAX | +32767 | shortが表せる最大値 |
SHRT_MIN | -32767 | shortが表せる最小値 |
UCHAR_MAX | 255 | unsigned charが表せる最大値 |
UINT_MAX | 65535 | unsigned charが表せる最小値 |
ULONG_MAX | 4294967295 | unsigned longが表せる最大値 |
USHRT_MAX | 65535 | unsigned shortが表せる最小値 |