一尘不染

对于数组,为什么a[5] == 5[a]?

javascript

对于数组,为什么a[5] == 5[a]?


阅读 152

收藏
2022-02-17

共1个答案

一尘不染

C 标准对[]运算符的定义如下:

a[b] == *(a + b)

因此a[5]将评估为:

*(a + 5)

并将5[a]评估为:

*(5 + a)

a是指向数组第一个元素的指针。a[5]是距离 5 个元素的值,与相同a*(a + 5)从小学数学我们知道它们是相等的(加法是可交换的)。

2022-02-17