c语言没有正式的、内建的布尔类型,一般用整数表示布尔值,只不过其范围大大缩小了,部分原因在于选择一个这样的类型涉及最好由程序员来决定的空间和时间中,使用int可能更快,选择char可能更节省空间。
c语言将0值解释为假,而将任何非0值解释为真,ANSI规定关系和逻辑操作符==、!=、<、>、>=、<=、&&和||返回1表示真,因此1值作为真值比任何其它非0值更著名一些。但有一点要注意:就是有一些函数在成功时返回非0值且不一定是1,例如isupper()、isalpha()等等.
通常自定义的布尔型形式:
#define TRUE 1
#define FALSE 0
typedef enum{FALSE,TRUE}bool;或typedef int bool;或typedef char bool;或#define bool int;等等