- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
每当我需要 boolean 类型时,我都会被告知要么创建一个,要么使用 stdbool.h
更好。
由于 stdbool.h
使用 typedef bool _Bool
,是否有理由使用 header 而不是仅使用类型 _Bool
?是否只是为了额外的宏(/* #define true 1 #define false 0 */
)?
最佳答案
要添加到语言中的明显类型是 bool
。但不幸的是,编写了大量包含其他形状和形式的 bool
的代码。回想一下,仅在 C99 中添加了对 boolean 类型的支持。
于是C语言委员会只好为它拉出一个保留标识符(_Bool
)。但是,由于类型名称的明显选择仍然相同,因此添加了 stdbool.h
以允许用户使用明显的名称。这样,如果您的代码没有自制的 bool
,您可以使用内置的。
如果您不受某些现有的自制 bool
的约束,那么请确实使用 stdbool.h
。它将是标准类型,具有该类型带来的所有好处。
关于c - 为什么使用 <stdbool.h> 而不是 _Bool?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374356/
我正在尝试读取击键然后停止代码。在 C 中。 #include #include #include #include bool starting() { char c; if (k
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 4 年前。 Improve t
我想在我的系统上找到 _Bool 定义,因此对于缺少它的系统我可以实现它。我在这里和其他网站上看到过各种关于它的定义,但我想检查系统以获得最终定义。 小问题,因为我找不到 _Bool 的定义位置,甚至
在 stdbool.h 中,true 和 false 只是整数。为什么不签名?有绩效动机吗? 最佳答案 使用类型 int对于值 false和 true使他们同意由逻辑否定运算符(!)、关系运算符(、=
假设我像这样在“struct.h”中定义一个结构 struct box { int value; } 我在另一个文件中使用该结构说“math.c” #include "struct.h" st
这是我的代码 主程序 #include #include #include "func.h" int main () { int counts = 10; printf("Expected
每当我需要 boolean 类型时,我都会被告知要么创建一个,要么使用 stdbool.h 更好。 由于 stdbool.h 使用 typedef bool _Bool,是否有理由使用 header
我不知道为什么会这样。有没有人遇到过这个?我使用的是 Netbeans 8.2,程序在 Debug模式下运行。 #include #include #include #define N 100
我还是 C 新手。我有一个关于源文件和头文件的问题。我有一个像这样的头文件: #ifndef MISC_H_ #define MISC_H_ #define BYTE 8 #include #inc
我的计算机科学老师给了我一个关于操作数组的作业模板。这包括 和图书馆。这两者似乎没有联系。使用该库时,我总是必须通过右键单击 Eclipse 文件资源管理器中的文件然后转到属性> C/C++ Buil
在一个项目中,我在 C++ 和一个使用 stdbool.h 定义的 C 库之间进行交互。 #ifndef _STDBOOL_H #define _STDBOOL_H /* C99 Boolean ty
我正在尝试在 C 程序中使用 stdbool.h 库文件。然而,当我尝试编译时,出现一条错误消息,指出智能感知无法打开源文件 stdbool.h。 谁能告诉我如何让 visual studio 识别这
我在 debian 上遇到了 eclipse cdt 3.8.0 格式化程序的问题。当它自动格式化我的代码时,函数返回 bool 和 block 注释之间的换行符被删除,如下所示:这是 C 源文件中的
在被编译器错误指出后,我注意到 clang 的 stdbool.h文件包括(除其他外)以下几行: #define bool bool #define false false #define true
我刚刚注意到 gcc 和 clang 似乎都对 stdint.h 使用 typedef,但对 stdbool.h 使用 #define。 示例:clang's stdint.h #ifdef __I
我正在尝试在 Solaris 上安装 Node.JS。这是开箱即用的 Solaris 9/10 x86(最新的是 2010 年 9 月)并且仅使用默认包。 我遵循的指示在这里:https://gith
我的印象是 C 或 C++ 中的 bool 类型是 typdef'ed 整数,因为它在机器级别(字的大小等)处理起来“更容易”。但我只是执行了一个 sizeof,令我惊讶的是,它们返回了 1(字节)。
我是一名优秀的程序员,十分优秀!