bool取值false和true,是0和1的区别,,false可以代表0,但true有很多种.并非只有1。bool是在C++中的定义类型,我们如何在C中实现bool型的数据呢?
我们可以利用枚举型的定义来实现,枚举型是定义常量的一种方式,默认从0一次递增,也可以自行定义,未定义的部分递增。
#include <stdio.h>
#include <stdlib.h>
typedef enum {false = 0, true = 1} bool;//利用枚举类型定义bool
int main()
{
int k=0x0001;
bool i;
i=(bool)k;//转换为bool即取最后一位
printf("%d",i);
while(1);
return 0;
}
运行如下: