C:先来者 -> 或 [i]

C: What comes first -> or [i]

假设我有一个指向结构的指针,它有一个名为 arr 的数组字段:p

p->arr[i]是否等于:

  1. (p->arr)[i](这正是我想要的)

  1. p->(arr[i])(错误)

-> 运算符与 [] 运算符具有相同的优先级。
但它将从左到右进行评估。所以

p -> arr[i]

等同于

(p -> arr)[i]