Linux bool变量:
1)是小写bool而非大写BOOL
2)值为true或者false,而非大写TRUE和FALSE,大写的需要自己采用宏来定义
3)linux C下需要包含头文件stdbool.h
4)Linux下false = 0,true = 1,且一个bool型变量占用一个字节内存空间
5)BOOL是微软VC++独有的,TRUE和FALSE在VC++中也有定义,但是标准C++也是采用bool。
测试平台:64位 X86 Ubuntu
1. TRUE和FALSE的定义方法
方式1:
#ifndef TRUE
#define TRUE (1)
#endif
#ifndef FALSE
#define FALSE (0)
#endif
方式2:
#ifndef FALSE
#define FALSE false
#endif
#ifndef TRUE
#define TRUE true
#endif
注:以下两段代码在Ubuntu下测试
2. bool型变量的if判断
代码:
#include<stdio.h>
#include<stdbool.h>
void main(void)
{
bool test_false = false;
bool test_true = true;
if(test_false)
printf("test_false is true\n");
if(!test_false)
printf("test_false is false\n");
if(test_false == true)
printf("test_false == ture\n");
if(test_false == false)
printf("test_false == false\n");
if(test_true)
printf("test_true is true\n");
if(!test_true)
printf("test_true is false\n");
if(test_true == true)
printf("test_true == ture\n");
if(test_true == false)
printf("test_true == false\n");
}
结果:
baoli@ubuntu:~/c$ ./a.out
test_false is false
test_false == false
test_true is true
test_true == ture
3. true和false的取值及bool型变量大小
代码:
#include<stdio.h>
#include<stdbool.h>
void main()
{
printf("bool: false=%d, ture=%d\n", false, true);
printf("sizeof of bool: %d\n", sizeof(bool));
}
结果:
baoli@ubuntu:~/c$ ./a.out
bool: false=0, ture=1
sizeof of bool: 1