数组arr [i]解释为*(arr + i)。此处,arr表示第一个数组元素或0索引元素的地址。所以*(arr + i)表示与数组的第一个元素相距i距离的元素。因此数组索引从0开始,因为最初的i为0,这意味着数组的第一个元素。
一个用C ++演示的程序如下。
#include <iostream> using namespace std; int main() { int arr[] = {5,8,9,3,5}; int i; for(i = 0; i<5; i++) cout<< arr[i] <<" "; cout<<"\n"; for(i = 0; i<5; i++) cout<< *(arr + i) <<" "; return 0; }
输出结果
上面程序的输出如下。
5 8 9 3 5 5 8 9 3 5
现在让我们了解上面的程序。
数组arr []包含5个元素。这些元素使用带有数组表示形式arr [i]和*(arr + i)的for循环显示。两种情况下获得的结果相同。显示此代码段如下。
int arr[] = {5,8,9,3,5}; int i; for(i = 0; i<5; i++) cout<< arr[i] <<" "; cout<<"\n"; for(i = 0; i<5; i++) cout<< *(arr + i) <<" ";