什么是C99 _Bool数据类型,如何使用它?

pn9klfpd  于 2023-10-16  发布在  其他
关注(0)|答案(2)|浏览(138)

什么是C99 _Bool数据类型,如何使用它?

mwecs4sa

mwecs4sa1#

包含<stdbool.h>标头

#include <stdbool.h>

int main(void){
  bool b = false;
}

truefalse分别扩展为10
部分7.16布尔类型和值< stdbool.h >

  • 1头文件<stdbool.h>内斯四个宏。
  • 2宏观
  • bool扩展为_Bool。
  • 3剩下的三个宏适用于#if预处理指令。他们是
  • true:扩展为整数常量1,
  • false:扩展为整数常量0,
  • __bool_true_false_are_defined扩展为整数常量1。
  • 4尽管有7.1.3的规定,程序可以对宏bool、true和false进行解算,然后再进行雷德解算。
wljmcqd8

wljmcqd82#

请在DaniWeb上找到这个相关线程上查看答案。
摘录及引述于此,以供参考:

c99中新增关键字的用法

_Bool:C99的boolean类型。只有在维护已经为bool、true或false定义了宏的遗留代码时,才建议直接使用_Bool。否则,这些宏将在<stdbool.h>标头中标准化。包括头文件,你就可以像在C++中一样使用bool。

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

int main ( void )
{
  bool b = true;

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

  return 0;
}

相关问题