C99布尔数据类型?

时间:2011-01-22 12:57:37

标签: c types boolean c99

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

2 个答案:

答案 0 :(得分:102)

包含<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。
  •   

答案 1 :(得分:42)

请在DaniWeb上找到的相关主题上查看答案。

提取并引用此处以方便参考: -


在c99中使用新关键字

  

_Bool :C99的布尔类型。如果您正在使用,则仅建议直接使用_Bool   维护已经存在的遗留代码   为bool,true或者定义宏   假。否则,那些宏是   在<stdbool.h>标准化   头。包括标题和你   可以像你一样使用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;
}