1. ホーム
  2. c

[解決済み] C言語でのtrueとfalseの使い分け

2022-03-03 20:50:39

質問

私が見る限り、cでbooleanを使用する方法は3つあります。

  1. bool 型で、true と false を使用する。
  2. プリプロセッサーを使った定義 #define FALSE 0 ... #define TRUE !(FALSE)
  3. 定数を直接使うだけ、つまり、1や0など

は、私が見逃している他のメソッドがありますか?それぞれの方法の長所と短所は何ですか?

一番速いのは3番、まだ読みやすいのは2番(ビット単位の否定は若干オーバーヘッドになりますが)、一番読みやすいのは1番ですべてのコンパイラに対応しているわけではありませんね。

解決方法は?

を入れるだけです。 <stdbool.h> が提供されている場合は、それを使用します。これは、以下のような多くのマクロを定義しています。 bool , false および true (に定義されている)。 _Bool それぞれ、0、1)。詳細はC99の7.16節を参照。