昨日の授業で,typedefによる型定義,enumを使った列挙型,そして構造体を説明しました.
enum Boolean {FALSE, TRUE};
これで,enum Boolean型を定義することになります.Boolean型ではありません*1.
FALSEとTRUEは,ともに列挙子と呼ばれます*2.でも「列挙子(れっきょし)」なんて言葉は覚えなくていいでしょう.そういえば,受験英語で「doの名詞形はdeed」と覚えたけど,大学の英語にも,英語の論文にも出てきたことがありません(ただし,辞書を引けば,それなりに用例が載っているので,私の範囲で見たことがないというだけです).
ところで,真偽値を扱うには,いつもこういうふうに型を定義しておかないといけないのかというと,決してそうではありません.
まず,C++という言語では,bool型があります.
そして,Cの中でも,C99という規格*3では,真偽値を扱うための型として「_Bool」が新設されています.さらに,「#include
結局,列挙型を自作するか,C++やC99を使うか,あるいはブール型を使わずに「0」と「1」を使うことにするかは,メリット・デメリットに注意して,プログラムを書く状況に応じて一つを選ぶことになります.すでに書いたプログラムに,bool型を取り入れるときは,あらかじめソースコードにbool,true,falseという変数や定数がないことを確認しましょう*4.