C99ブールデータ型とは何ですか?
<stdbool.h>
ヘッダーを含める
#include <stdbool.h>
int main(void){
bool b = false;
}
マクロtrue
およびfalse
は、それぞれ1
および0
に展開されます。
セクション7.16
ブール型と値< stdbool.h >
- 1ヘッダー
<stdbool.h>
は4つのマクロを定義します。- 2マクロ
- boolは_Boolに展開されます。
- 3残りの3つのマクロは、#ifプリプロセスディレクティブでの使用に適しています。彼らです
- true:整数定数1に展開されます
- false:整数定数0に展開します。
- __bool_true_false_are_definedは整数定数1に展開されます。
- 4 7.1.3の規定にかかわらず、プログラムはマクロbool、true、およびfalseを未定義にして、おそらく再定義する場合があります。
DaniWeb にあるこの関連スレッドの回答をチェックしてください。
便利な参照のためにここに抽出され引用されました:-
_ Bool:C99のブール型。 _Boolを直接使用することは、bool、true、またはfalseのマクロを既に定義しているレガシーコードを維持している場合にのみお勧めします。それ以外の場合、これらのマクロは
<stdbool.h>
ヘッダー。そのヘッダーをインクルードすると、C++の場合と同様にboolを使用できます。
#include <stdio.h>
#include <stdbool.h>
int main ( void )
{
bool b = true;
if ( b )
printf ( "Yes\n" );
else
printf ( "No\n" );
return 0;
}