ブール変数

ブール変数は、整数値 0 または 1、もしくは C++ リテラル true および false を保持する場合に使用できます。これらのリテラルは 、算術値が必要なときにいつでも整数 0 および 1 へ暗黙的にプロモートされます。 ブール変数を宣言する型指定子は、C++ では bool です。 C でブール変数を宣言するには、 ヘッダー・ファイル <stdbool.h> で定義される bool マクロを使用します。ブール変数は、指定子 signedunsignedshort、または long によって さらに修飾できません。

C ブール型は、符号がなく、標準符号なし整数型のカテゴリーにおいて最低 にランク付けされます。単純な割り当てでは、左方オペランドが ブール型であれば、右方オペランドは算術型またはポインターのいずれかである必要があります。 ブール型として宣言されたオブジェクトは、1 バイトのストレージ・スペースを使用します。こ れは値 0 または 1 を保持するのに 十分な大きさです。

C では、ブール型をビット・フィールド型として使用することができます。ブール型のゼロ以外の幅の ビット・フィールドが値 0 または 1 を保持する場合、ビット・フィールドの値は、それぞれ 0 ま たは 1 と同等比較されます。

Linux C トークン bool は、ベクトル宣言コンテキストで使用される場合と、AltiVec 言語拡張機能が使用可能になっている場合にのみ、キーワードとして認識されます。

Linux _Bool では、4 バイトのストレージ・スペースを使用し、4 バイトで位置合わせされます。

C++bool の変数は 2 つの値のどちらか、つまり true または false を保持できます。型 bool の右辺値は、整数型へプロモートできます。false bool 右辺値は、値 0 へプロモートでき、truebool 右辺値は、値 1 へプロモートされます。

同等、関連、および論理の各演算子の結果は、型 bool の結果になり ます。つまり ブール定数 true または false のいずれになります。

型指定子 bool およびリテラル true および false を使用し て、ブール論理テストを行います。ブール論理テスト は、論理演算の結果を表すために使用されます。 次に例を示します。

bool f(int a, int b)
{
  return a==b;
}
 
ab が同じ値を持っている場合、f() は true を戻します。 そうでなければ、f() は false を戻します。

関連参照

IBM Copyright 2003