C++中的布尔类型bool

遵循非0值为真,0值为假

学过C语言的程序员应该清楚,在C语言中,是没有bool这个基础类型的。在C语言中,当我们要表示真或假的时候,都是定义一个非bool类型来使用的。

在C++中,加入了布尔bool这种基础的类型,用true和false来表示真或者假,也可以用非0值来表示真,用0来表示假。在C++中,虽然布尔类型只表示true和false,看起来好像可以用一个位来存储布尔类型的变量,但其实,布尔类型在C++中是占用一个字节的。
那bool类型能否进行运算

答案是可以的。
布尔类型虽然只表示真或者假,但是它在存储空间是占用一个字节的,所以我们也可以对布尔类型进行运算,但是它还是遵循非0值为真,0值为假这条规则。例如下面的代码:

#include <stdio.h>
int main() {
	
	bool b = 0;
	printf("b = %d\n", b);
	b++;
	printf("b = %d\n", b);
	b = b - 3;
	printf("b = %d\n", b);
	return 0;
}

运行结果:

用C++编译器编译运行后得到的是:

b = 0
b = 1
b = 1

从上面我们也可以看到,布尔类型作为C++中的一种基础类型,是完全可以对布尔类型进行运算的,只不过最后遵循非0值为真,0值为假这条规则。
用布尔类型定义变量

既然布尔类型作为C++中的一种基本数据类型,那么可以
定义bool类型的全局变量
定义bool类型的常量
定义bool类型的指针
定义bool类型的数组
总结

在C语言中,没有bool这种类型,但是在C++中,把bool当做一种基本的数据类型,既然是数据类型,那么久可以对bool类型的变量进行运算,只不过最后遵循非0值为真,0值为假这条规则。同时,bool类型作为一种基本的数据类型,也可以用来定义常量,全局变量,指针还有数组。

参考:

C++中的bool类型

发布了76 篇原创文章 · 获赞 32 · 访问量 7932

猜你喜欢

转载自blog.csdn.net/wuwuku123/article/details/103732601
今日推荐