C中取消引用和括号引用的操作顺序

如果我做*ptr[x] ,那相当于*(ptr[x]) ,还是(*ptr)[x]

*(ptr[x])

请参阅Wikipedia运算符优先级表 ,或者,对于更详细的表,请参阅此C / C ++特定表 。

在C中,所有后缀运算符的优先级都高于前缀运算符,前缀运算符的优先级高于中缀运算符。 所以它的*(ptr[x])

使用逆时针运动分析和解析这个简单的例子

 1.从ptr开始,逆时针工作直到你击中星号运算符
 2.星号,逆时针方向,直到你点击下标操作符
我们到了这里,下标操作符[x]

由于[]优先级高于此表的星号,因此*(ptr[x])