3维数组初级问题
typedef struct{int *base;//数组存储区的首地址指针
int index[3];//存放3维数组各维的长度
int c[3];//存放3维数组的各维ci值(i是下标)
}array;
index[]就是存放譬如a[i][j][k]中的
index[0]=i
index[1]=j
index[2]=k
对不对?
c[]中存放什么?不太懂.
c[0] = j*k, c[1] = k, c[2] = 1;
这样定义后,对于数组a中的任意i,j,k,它的位置在
i*c[0] + j*c[1] + k*c[2]
a[i][j][k] == *(a + i*c[0] + j*c[1] + k*c[2] )。
页:
[1]
