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

 

08-06 16:06