c语言替代php,Alternative operators and tokens(替代运算符和令牌)

本文介绍了C11标准中关于结构体成员对齐的修正,以及C++中alignas关键字的应用。在C++中,alignas可以用于类、结构体和联合体类型的声明,而在C中则需要通过成员声明来控制结构类型对齐。此外,文章还提到了C语言中的一些替代运算符和trigraphs的用法,展示了它们在源代码中的实际应用。
摘要由CSDN通过智能技术生成

注意

如最初公布的那样,C11 不允许结构和工会成员使用 alignas 规范; 这由 DR 444纠正了。

在 C ++中,说明alignas符也可以应用于类/结构体/联合体类型和枚举的声明。这在 C 中不受支持,但可以通过在成员声明中使用 alignas 来控制结构类型的对齐方式(自 DR 444起)。

关键词

_Alignas.

| Primary | Alternative |

| && | and  (macro constant) |

| &= | and_eq  (macro constant) |

| & | bitand  (macro constant) |

| | | bitor  (macro constant) |

| ~ | compl  (macro constant) |

| ! | not  (macro constant) |

| != | not_eq  (macro constant) |

参考

C11标准(ISO / IEC 9899:2011):6.7.5对齐说明符

6.2.8对象对齐(p:48-49)

7.15对齐(p:268)

| ^ | xor  (macro constant) |

| ^= | xor_eq  (macro constant) |

字符&和!是不变的 ISO-646下,但提供了使用这些字符无论如何,以适应更加严格的历史字符集运营商的替代品。

eq对于相等运算符没有其他拼写(如),==因为该字符=出现在所有支持的字符集中。

Alternative tokens(C95)

以下替代令牌是核心语言的一部分,并且在各方面的语言中,每个替代令牌的行为与其主令牌完全相同,但其拼写(字符串操作符可以使拼写可见)除外。两个字母的替代令牌有时被称为“二元符号”

PrimaryAlternative{

}%>

[<:>

]:>

%:

%:%:

Trigraphs

在识别注释和字符串文字之前,会分析以下三个字符组(trigraphs),并且每个三角形的外观都会被相应的主要字符替换:

PrimaryTrigraph{??<

}??>

[??(

]??)

??=

\??/

^??'

|??!

~??-

由于 trigraphs 被提前处理,所以注释// Will the next line be executed?????/会有效地注释掉下面的行,并将字符串文字(比如"What's going on??!"被解析为)注释掉"What's going on|"。

以下示例演示了头文件中的替代运算符拼写以及使用二元和三元符。

第一个命令行参数 argv1中的空格字符需要引号:“,World!”。

%:include %:include %:include 

int main(int argc, char** argv)?? 1 and argv<:1:> not_eq NULL)    );    %>

return EXIT_SUCCESS;??>

可能的输出:

Hello, World!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值