为什么[v] = v [a]?

Mar*_*ban -4 c c++ arrays

v它是一个int数组,它是一个int:

#include <iostream>
using namespace std;
int main() {
int v[10], a;
cout << v[a] << endl;
cout << a[v] << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)

返回相同的值:0 0

这是为什么 ?

The*_*kis 6

因为索引器语法意味着"由数组的开头加上偏移量表示的地址中的值".或者,换句话说:

v[a] == *(v + a) == *(a + v) == a[v]
Run Code Online (Sandbox Code Playgroud)