关于结构和指针,如何x->x->x使用点运算符编写此表达式?
使用箭头操作符:x->x->x我轻松访问第三个元素.使用点运算符:(*x).x如何使用点运算符访问第三个元素?
我知道箭头操作符是点运算符的快捷方式,所以应该可以使用点运算符到达第三个元素?我可以使用变量:
struct node *var
var = (*ptr).next
(*var).x = some value
Run Code Online (Sandbox Code Playgroud)
这真的让我很烦.一直在寻找教科书和互联网上的任何地方,无法找到答案.
嗯x -> x相当于(*x).x你只做了两次:
(*(*x).x).x
Run Code Online (Sandbox Code Playgroud)
.更紧密的一元,*所以优先权的作用.如果你感到偏执,你可以这样做:
(*((*x).x)).x
Run Code Online (Sandbox Code Playgroud)