数组并使用该数组作为索引

问题描述:

通常在C++中,遍历数组时,您会计数并使用索引。但是,我想知道为什么使用数组作为索引也适用。 例如,数组并使用该数组作为索引

#include <iostream> 
using namespace std; 

int main() { 
    int a[] = {5,7,3,2,0}; 
    int i = 0; 
    for(i = 0; i <5; i++) 
    { 
     cout<<i[a]<<"\n"; 
    } 
    return 0; 
} 

输出将是相同的使用[i]中。为什么是这样?

+4

对于内建类型,'X [Y]'表示'*(X + Y)','+'是可交换的 –

在C++中,[]运算符确实是地址加法。

所以,当你写: A [1]

编译器看到: *(A + I)

,相反,当你写I [A],编译器看到:*(我+ a)。

+7

不,数组不是指针。 – juanchopanza

+0

这是它的第一个元素的指针。 –

+1

[我会留在这里](http://*.com/questions/4810664/how-do-i-use-arrays-in-c/4810668) – JGroven