8.C++中的布尔类型
本文参考自狄泰软件学院:《C++深度剖析》课程
- C++在C语言的基本类型系统之上增加了bool类型
- C++中的bool可取的值只有true和false
true代表真值,编译器内部用1来表示
false代表非真值,编译器内部用0表示 - bool只占用一个字节
- C++编译器会将非0值转换为true,0值转换为false。
示例代码:布尔类型初探
#include <stdio.h>
int main(int argc, char *argv[])
{
bool b = false;
int a = b;
printf("sizeof(b) = %d\n", sizeof(b));
printf("b = %d, a = %d\n", b, a);
b = 3;
a = b;
printf("b = %d, a = %d\n", b, a);
b = -5;
a = b;
printf("b = %d, a = %d\n", b, a);
a = 10;
b = a;
printf("a = %d, b = %d\n", a, b);
a = 0;
b = a;
printf("a = %d, b = %d\n", a, b);
return 0;
}
输出结果:
sizeof(b) = 1
b = 0, a = 0
b = 1, a = 1
b = 1, a = 1
a = 10, b = 1
a = 0, b = 0
布尔类型是C++中基本数据类型
- 可以定义bool类型的全局变量
- 可以定义bool类型的常量
- 可以定义bool类型的指针
- 可以定义bool类型的数组