问题描述
假设存在一个N维数组:
private void button3_Click(object sender,EventArgs e)
{
About abt = new About();
abt.ShowDialog();
}
如何创建指向此的指针?
一个人可以通过获取最低级别的数组的地址,然后获取新创建的指针数组的地址,等等来创建另一个N-1-维指针数组,但这听起来像是一团糟。 type list[S1][S2]...[SN]
可能派上用场,但这也不是一种快速的方法。
有什么选项可创建指向整个数组或该数组任何级别的指针?
解决方法
我会自己使用typedef。这里有一个例子:数组数组;
#include <stdio.h>
typedef double arrd_t[2][3][4][5][6][7];
typedef arrd_t arrd_t_t[4][5][6][8][9][10];
arrd_t_t array;
arrd_t_t *ptr = &array;
double ret(arrd_t_t *ptr,size_t x,size_t y,size_t z,size_t a,size_t b,size_t c,size_t x1,size_t y1,size_t z1,size_t a1,size_t b1,size_t c1)
{
return (*ptr)[x][y][z][a][b][c][x1][y1][z1][a1][b1][c1];
}