linux C bool变量

本文深入解析Linux环境下bool类型的使用,包括其定义、真假值表示、内存占用情况以及与其他布尔类型的区别。通过代码示例,展示了bool类型在if条件判断中的应用,并提供了TRUE和FALSE的自定义方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello-linux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值