「C言語/制御文」の版間の差分
削除された内容 追加された内容
C99以降に論理型があるので、論理型を無いと書いた前記述を訂正。 |
|||
701 行
== 論理型 ==
論理型とはデータ型の内の1つであり、真(true)か偽(false)かの2種類の論理値をとる。
JISX3010:2003(ISO/IEC 9899:1999)において(いわゆる「C99」に相当のJIS)、論理型はキーワード_Boolを用いて宣言される。
偽は0 , 真は1 (及び0以外) を用いて表現される。
<ref>『JISX3010:2003』p.32「6.3.1.2 論理型」</ref>
Bool(ブール)とは、数学の用語です。数学の分野のひとつで『ブール代数』というのがあり、それにあやかって Bool ブールという宣言を使っていると思われます。
論理型において、ヘッダファイルstdbool.hをインクルードすることで、
753 行
古い標準C言語には論理型が無
現在でもコンパイラ内部では数値で真偽を表していると思われる。(C99以降は規格上では、C言語にも論理型が標準でサポートされている。)
1は「真」、0は「偽」と考えておけば、普通の利用法では問題ない。(なお、C++ には規格の当初から論理型がある。)
条件を満たしている場合の1か0かについては、通常の利用法ではコンパイラが判断するので、プログラマーはあまり1か0かといった返される数値については考える必要は無い。
プログラマー視点では、もっと単純に考えても平気であり、
:「条件が満たされるなら『真』」、
「条件が満たされない場合は『偽』」
と思っていても、実用上は平気な場合が大半である。
|