4
A
回答
0
No. ->foo
(对于任何值foo
)是后缀运算符,并且具有比&
(前缀运算符)更高的优先级。
3
没有区别,这只是为了可读性。 ->
具有比&
参考运算符更高的优先级。请参阅here。
为了进一步证明了这一点,看看这些线的dissasembly:
一些短代码
struct A {
int b;
};
int main() {
struct A *a;
int *c;
c = &a->b; // Disassemble these lines.
c = &(a->b);
return 1;
}
两条线的dissasembly等同于以下内容:
movq -16(%rbp), %rax
movq %rax, -8(%rbp)
试试here中的代码自己看看。
+2
你真的不需要证明,它在绝对清晰的黑白中优先规则:) – teppic
+1
@teppic我知道,我只是喜欢使用该工具! –
0
没有区别。 ->
组件选择运算符的优先级高于一元运算符&
,因此表达式&a->b
被解析为&(a->b)
,结果是a
指向的实例中的成员b
的地址。
相关问题
- 1. 带大括号,括号和括号的任务
- 2. 括号中的运算符符号的括号
- 3. 带括号和不带括号的可变参数之间的区别
- 4. Javascript如何使用带括号的运算符和/或运算符
- 5. 带或不带括号的PHP比较
- 6. 调用不带括号
- 7. 采用C符号带或不带括号
- 8. 带圆括号和括号的Vim缩进级别
- 9. 带有大括号和圆括号的块如何工作?
- 10. 带括号的笨查询
- 11. 带方括号的htaccess
- 12. 带括号的str.replace函数
- 13. 带括号的双序列?
- 14. Codeigniter - 带有activerecord的括号?
- 15. 带花括号的流api
- 16. 带多个括号的宏
- 17. 带括号的语法
- 18. 将括号转换为不带圆括号的等价条件
- 19. [innerHtml]:带左尖括号的字符串
- 20. 不带括号的sizeof的使用
- 21. 带和不带括号的程序之间的区别?
- 22. 当我用方括号和不带方括号时,什么是不同的?
- 23. 布尔运算符和括号
- 24. 带括号和空格的Antl语法
- 25. F#:有括号和不带括号的类型之间的区别
- 26. 不带变量声明的大括号
- 27. 调用不带括号的JavaScript函数
- 28. 带有和不带圆括号的Perl调用方法
- 29. “不返回分配” - 带括号和不带括号的分配之间的区别
- 30. 变量内的括号后面带括号es6
在这种情况下,使用括号可以更清楚地表达你的意思。 – teppic
@TlerlerSebastian不,这两个表达式是等价的。 ' - >'的优先级高于'&'。 –
@PCLuddite是啊我记得我发表我的评论后,随后删除它。 –