Cにはブール型がないので、Cで次のような関数を作成するにはどうすればよいですか。
bool checkNumber()
{
return false;
}
bool
タイプはヘッダーで定義され、それ以外<stdbool.h>
の名前で使用でき_Bool
ます(C99コンパイラーを使用している場合)。C99をお持ちでない場合は、いつでも次のような独自のブール型を作成できます。
typedef enum {false, true} bool;
int
少なくともC99より前は、Cでブール値として一般的に使用されます。ゼロは偽を意味し、ゼロ以外は真を意味します。
C99を使用しておらず、独自のブール型を追加する必要があると判断した場合は、必ず独自の名前を付けてください。'bool'または'BOOL'を使用すると、サードパーティのライブラリを含める場合にのみ問題が発生します。唯一の例外は、次のデファクトスタンダードを使用することです。
#define BOOL int
#define TRUE 1
#define FALSE 0
ただし、これらを#ifndefでラップするようにしてください。ただし、一部のライブラリでは「char」をBOOLとして使用していることに注意してください。C ++のバックグラウンドを使用している場合は、C++と相互運用するかどうかを検討してください。
定義を使用して、ブール論理にintと1および0を直接使用しないようにすることができます。
#define BOOL char
#define TRUE 1
#define FALSE 0
BOOL
4ではなく1バイトしかないため、charを選択しました(ほとんどのシステムの場合)