従来、C には C99 までブール値が定義されていませんでした。したがって、ヘッダーファイルを検索して、見つかったブール値を作成する最適な方法を知るには、次のようにします。
Windows.h [Microsoft C++]
---------
typedef int BOOL;
//false
#ifndef FALSE
#define FALSE 0
#endif
//true
#ifndef TRUE
#define TRUE 1
#endif
Tipo Booleano C で定義
#if (__BORLANDC__ <= 0x460) || !defined(__cplusplus)
typedef enum { false, true } bool;
#endif
c-faq.com セクション 9 で提供
typedef enum {false, true} bool;
objc.h では、bool は次のように定義されています。
typedef signed char BOOL;
// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"
// even if -funsigned-char is used.
#define OBJC_BOOL_DEFINED
#define YES (BOOL)1
#define NO (BOOL)0
stackoverflow.com に関する質問への回答として
typedef enum { False = 0, True = 1 } Bool;
#define bool Bool
#define true True
#define false False
最適化された方法はどれですか?