指向结构成员的指针上的 ++ 运算符

zac*_*i16 4 c

我遇到了一段代码,上面写着:

++myStruct->counter
Run Code Online (Sandbox Code Playgroud)

我对这里如何评估 ++ 运算符和 -> 运算符感到困惑。++ 优先于 -> 运算符并从左到右求值。看起来 ++ 运算符实际上会在 'myStruct' 上执行指针算术,而不是增加计数器成员。

Joh*_*ode 5

++ 优先于 -> 运算符并从左到右求值。

这是不正确的 - 后缀运算符的->优先级高于一元(前缀)运算符++--. 表达式被解析为

++(myStruct->counter)
Run Code Online (Sandbox Code Playgroud)

所以counter成员myStruct正在增加。