C99 布尔数据类型?

Posted

技术标签:

【中文标题】C99 布尔数据类型?【英文标题】:C99 boolean data type? 【发布时间】:2011-06-13 16:00:15 【问题描述】:

什么是 C99 布尔数据类型以及如何使用它?

【问题讨论】:

【参考方案1】:

包含<stdbool.h> 标头

#include <stdbool.h>

int main(void)
  bool b = false;

truefalse 分别扩展为 10

部分7.16 布尔类型和值&lt; stdbool.h &gt;

1 标头&lt;stdbool.h&gt; 定义了四个宏。 2 宏 布尔型 扩展为 _Bool。 3 其余三个宏适用于#if 预处理指令。他们 是 true : 扩展为整数常量 1, false:扩展为整数常量 0,并且 __bool_true_false_are_defined 展开为整数常量 1。 4 尽管有 7.1.3 的规定,但程序可能未定义,并且可能随后 重新定义宏 bool、true 和 false。

【讨论】:

还应该注意的是,转换为_Bool(通过赋值、强制转换等)实际上是通过在表达式前面加上!!【参考方案2】:

请在DaniWeb 上找到的相关线程上查看答案。

摘录并在此引用,方便参考:-


c99中新关键字的使用

_Bool:C99 的布尔类型。仅在以下情况下才建议直接使用 _Bool 维护已经存在的遗留代码 为 bool、true 或 错误的。否则,这些宏是 在&lt;stdbool.h&gt; 中标准化 标题。包括那个标题和你 可以像你一样使用 bool C++。

#include <stdio.h>
#include <stdbool.h>

int main ( void )

  bool b = true;

  if ( b )
    printf ( "Yes\n" );
  else
    printf ( "No\n" );

  return 0;


【讨论】:

+1 用于解释为什么 _Boolbool 一起存在。对理解很有帮助。

以上是关于C99 布尔数据类型?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C 中使用布尔数据类型?

条件判断语句比较

bool数据类型用法

bool在c语言中是啥意思?

网易云课堂_C语言程序设计进阶_第一周:数据类型:整数类型浮点类型枚举类型

4.2Python数据类型之布尔类型