C++是对C语言的扩展,进行了更加抽象的封装。
bool类型即是C++的一个新的封装出来的数据类型,它在内存中占用一个字节。它的取值只有true 和 false 。true =1,false = 0.
将任意一个非0整数类型转换为bool类型时,都会自动将其变为1。例如:
int a;
bool b=true;
a=6;
b=a;
经过上述过程后,不难理解,b的值为1.
样例程序如下:
#include<stdio.h>
int main(int argc, char* argv[])
{
int a;
bool b=true;
printf("b=%d, sizeof(b)=%d\n", b, sizeof(b));
b = 3;
a = b;
printf("a=%d\n", a);
b = -5;
a = b;
printf("a=%d\n", a);
a = 10;
b = a;
printf("b=%d\n", b);
b = 0;
printf("b=%d\n", b);
b++;
printf("b=%d\n", b);
b = b + 1;
printf("b=%d\n", b);
return 0;
}
上述代码运行后得到如下结果