C言語/標準ライブラリ/stdbool.h
表示
Boolean type and values <stdbool.h>:論理型と論理値
[編集]ヘッダー <stdbool.h>
には、4つのマクロが定義されています[1]。
マクロ
[編集]- bool
- キーワード _Bool に展開されます。
残りの3つのマクロは、#if 前処理ディレクティブでの使用に適しています。
- true
- 整数定数の1に展開されます。
- false
- 整数定数の0に展開されます。
- __bool_true_false_are_defined
- 整数の定数1に展開されます。
bool、true、falseというマクロを定義解除して、おそらく再定義する機能は、時代遅れの機能です[2]。
C23
[編集]C23では、上述のマクロがキーワードになったので __bool_true_false_are_defined
が 1 に定義されているだけで、このマクロも非推奨です[3]。C23では、__STDC_VERSION_XXX_H__ のように機能仕様を示すマクロが提供
されていますが、<stdbool.h>
はこのようなマクロは提供されていません。
歴史
[編集]ヘッダー <stdbool.h>
は、ISO/IEC 9899:1999(通称:C99)で追加されました。
脚註
[編集]- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 210, §7.18 Boolean type and values <stdbool.h>. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 332, §7.31.9 Boolean type and values <stdbool.h>. オリジナルの2018-12-30時点によるアーカイブ。 .
- ^ N3096 working draft — April 1, 2023 ISO/IEC 9899:2023 (E). p. 310, §7.19 Boolean type and values <stdbool.h> .
参考文献
[編集]- 国際標準化機構/国際電気標準会議 ISO/IEC 9899:2018(en) Information technology — Programming languages — C(2018-07-05)