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

发布于 2024-10-13 01:51:01 字数 46 浏览 8 评论 0原文

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

What is the C99 _Bool data type and how do you use it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小嗲 2024-10-20 01:51:01

包含 标头

#include <stdbool.h>

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

truefalse 分别扩展为 10

7.16 布尔类型和值 < stdbool.h >

  • 1 标头定义了四个宏。
  • 2 宏
    • 布尔值
      扩展为 _Bool。
  • 3 其余三个宏适合在 #if 预处理指令中使用。他们

    • true:扩展为整数常量 1,
    • false:扩展为整数常量 0,并且
    • __bool_true_false_are_defined
      它扩展为整数常量 1。
  • 4 尽管有 7.1.3 的规定,程序可能会取消定义,然后也许
    重新定义宏 bool、true 和 false。

Include <stdbool.h> header

#include <stdbool.h>

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

Macros true and false expand to 1 and 0 respectively.

Section 7.16 Boolean type and values < stdbool.h >

  • 1 The header <stdbool.h> defines four macros.
  • 2 The macro
    • bool
      expands to _Bool.
  • 3 The remaining three macros are suitable for use in #if preprocessing directives. They
    are

    • true : which expands to the integer constant 1,
    • false: which expands to the integer constant 0, and
    • __bool_true_false_are_defined
      which expands to the integer constant 1.
  • 4 Notwithstanding the provisions of 7.1.3, a program may undefine and perhaps then
    redefine the macros bool, true, and false.
无声无音无过去 2024-10-20 01:51:01

请务必查看 DaniWeb 上相关线程的答案。

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


-c99 中 new keywords 的用法

_Bool:C99 的布尔类型。仅当您满足以下条件时才建议直接使用 _Bool
维护已经存在的遗留代码
定义 bool、true 或的宏
错误的。否则,这些宏是
中标准化
标头。包含该标题和您
可以像你一样使用 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;
}

Please do check out the answer here on this related thread found on DaniWeb.

extracted and quoted here for convenient reference:-


usage of new keywords in c99

_Bool: C99's boolean type. Using _Bool directly is only recommended if you're
maintaining legacy code that already
defines macros for bool, true, or
false. Otherwise, those macros are
standardized in the <stdbool.h>
header. Include that header and you
can use bool just like you would in
C++.

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

int main ( void )
{
  bool b = true;

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

  return 0;
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文