C言語(windows)でBOOL型を使う方法
実験してみたら、BOOL型と言っても実体はただのINT型で、TRUEの実体は1でFALSEの実体は0でした。
こんな感じ。
#include <windows.h>
#include <stdio.h>
main () {
printf("%d\n", TRUE);
printf("%d\n", FALSE);
BOOL x = 3;
printf("%d\n", x);
}
実行結果
1
0
3
実体はただのINT型なので、3とかを代入できてしまうのがおちゃめですね。Cにはboolがなかったため、様々な代用が行なわれてきた。
例えばWindows環境では、windef.h内(windows.hでインクルードされる)で、次のようにtypedefされる。
typedef int BOOL;
また、真偽値もマクロとして定義されている。一般的な例は次のとおり。
#define FALSE 0
#define TRUE 1
"bool ‐ 通信用語の基礎知識"
ということだそうです。
C言語かわいいよC言語。
カテゴリ:
C