C ++程序中数组元素的不常见表示形式

一个数组是一种线性数据结构,它存储元件相同的数据类型。要访问数组的单个数据元素,通常使用一种标准方法。

语法

array_name[index];

示例

#include <iostream>
using namespace std;
int main( ){
   int arr[2] = {32,65};
   printf("First Element = %d\n",arr[0]);
   printf("Second Element = %d\n",arr[1]);
   return 0;
}

输出结果

First Element = 32
Second Element = 65

现在,还有另一种方法可以提供与上述相同的输出。

语法

index[array_name];

示例

#include <iostream>
using namespace std;
int main( ){
   int arr[2] = {32,65};
   printf("First Element = %d\n",0[arr]);
   printf("Second Element = %d\n",1[arr]);
   return 0;
}

输出结果

First Element = 32
Second Element = 65

让我们考虑两种情况-

arr [0]将是*(arr + 0)指向一个值的指针。

0 [arr]将是*(0 + arr)指针,该指针指向的指针与前一个指针相同。

两个指针都指向相同的内存地址。