在C拳婊招稹语言中,没有bool这种类型,但是在C++中,把bool当做一种基本的数据类型。
在C语言中,当我们要表示真或假的时候,都是定义一个非bool类型来使用的。
在C++中,加入了布尔bool这种基础的类型,用true和false来表示真或者假,也可以用非0值来表示真,用0来表示假。在C++中,虽然布尔类型只表示true和false,看起来好像可以用一个位来存储布尔类型的变量,但其实,布尔类型在C++中是占用一个字节的。
相关信息:
在C语言中,一般认为0为假,非0为真。这是因为c99之前,c90是没有bool类型的的。但是c99引入了_Bool类型(_Bool就是一个类型,不过在新增头文件stdbool.h中,被重新用宏写成了 bool,为了保证C/C++兼容性)。目前为止大部分C语言书籍采用的标准还是c90标准,因此我们很少用bool类型。
C语言中的逻辑表达式的返回结果,比如 a==b的返回结果,只有0和1两种可能,但是它们的大小确是4,也就是用整形表示真假。