怎么计算三维数组的存储地址?

如题所述

可以自己画个图例算一下嘛!
array[5,6,7]可以看做三重意思考虑,首先array是一个有5个元素组成的数组,即array[0],...array[4];
其次,每个数组元素又是一个二维数组,二维的你应该可以搞定的吧,这样第一层的每个数组元素大小应该是6*7*2=84
个存储单元,也就有每个第一层数组元素array[i](i为0,1,2,3,4)的起始地址为120+i*84,按照这个规律再去推剩下的二维不久很小case了嘛!
array[i][j](i为0,1,2,3,4,j为0,1,2,3,4,5)起始地址为120+i*84+j*14;
最后array[i][j][k]的地址应该为120+i*84+j*14+k*2,其中i为0,1,2,3,4,j为0,1,2,3,4,5,k为0,1,2,3,4,5,6.
温馨提示:答案为网友推荐,仅供参考
相似回答