为什么在为C89配置的XCode中突出显示'bool'关键字语法?

问题描述 投票:1回答:1

[因此,我读到C语言中的布尔值首先是C99。现在,我想知道为什么bool仍然会因Xcode的语法突出显示而着色,或者您称其为...当人们在xcode的构建设置中搜索“拨号”时,会弹出“语言方言”,并且在这里“拨号” C89标准,并且布尔仍然是彩色的。

为什么?

我也读过这篇文章:Using boolean values in C

而且我知道他们是如何做到的,但我也不理解示例3和4的工作原理...

Option 3
typedef int bool;
enum { false, true };

Option 4
typedef int bool;
#define true 1
#define false 0

注意:无论如何,我不理解typedef int bool;如何与线路enum { false, true };连接。

为什么带有C89的xcode不能忽略bool关键字?示例如何工作?

c xcode boolean c89
1个回答
0
投票

它正在执行从匿名implicit conversionenumint。由于它们是兼容类型,因此它是“始终禁止操作且不会更改表示形式”。 default enum{ false, true }值为{ 0, 1 },因此这将导致相同的汇编器输出。当一个人不知道该选什么时,会回答has the order of preference

© www.soinside.com 2019 - 2024. All rights reserved.