为什么`&`用于C中的二进制AND和地址?

前端之家收集整理的这篇文章主要介绍了为什么`&`用于C中的二进制AND和地址?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题是对 What is &&& operation in C的回应,这让我想到了&被用作二进制AND和地址.

为什么这些非常不同的任务使用相同的符号?在考虑它时,@似乎是一个更好的符号地址.

我不认为它会在实践中引起太多问题,因为编译器可能会捕获大多数错误用法,但它可能会创建涉及宏的代码,看起来它正在执行二进制AND而它实际上正在执行地址.

解决方法

@未被用于“地址”的原因(正如你所建议的那样是一个不错的选择)是该角色不是 ISO 646 character set的一部分,它实际上是在C的早期使用的.

虽然C的设计师确实可以使用@并为它设计一个三字形序列,但我怀疑他们觉得这不值得麻烦.事实上&&&可能出现在人们的代码中可能不足以选择不同的运算符符号.

猜你在找的C&C++相关文章