假设我们有一个二维数组a[n][m]
。而不是a[i][j]
我可以使用*(*a + i * n + j)
。
如何使用指针访问N维数组的元素?即我可以使用什么而不是a[i][j]...[k]
?
例如,我尝试执行以下操作,但这不起作用:
#include<iostream>
#include<conio.h>
using namespace std;
int main() {
const int n1 = 5, n2 = 5, n3 = 5;
int array[n1][n2][n3];
for (int i = 0; i < n1; i++)
for (int j = 0; j < n2; j++)
for (int k = 0; k < n3; k++)
array[i][j][k] = n1*n2*n3;
cout << array[1][2][4]<<endl;
cout << *(*array + n1 + n2 * 2 + 4);
_getch();
return 0;
}