二维、三维数组转一维数组

二维数组a[M][N]中,a[i][j] = a[i*N+j],那三维数组a[M][N][P]换算为一维数组的关系公式是什么呢?
答:三维数组维展a[M][N][P],下标为a[m][n][p],则一维表达式为a[ (m*N+n)*P+p]

理解:二维转一维时,第一个维度指向N个元素的数组首地址(i*N),第二个维度是自身(j)。
三维转一维时,第一个维度指向N*P个元素的二维数组的首地址(m*N*P),第二维度指向P个元素的数组首地址(n*P),第三个维度是自身(p)。

posted @ 2015-03-16 09:49  kira2will  阅读(2687)  评论(0编辑  收藏  举报