三维数组A[5][4][3]中数据元素以行优先顺序存储,已知loc(A[0][0][0])=100,一个数组元素占4个单位存储空间,则数组元素A[2][2][2]的存储地址为 228 。
解:loc(A[2][2][2])=loc(A[0][0][0])+(2*4*3+2*3+2)*4=(24+6+2)*4=228
三维数组A[a][b][c]分别代表层、行、列,
按行优先就是第一层按照行优先存满时,在第二层继续按照行优先存储,
此题最好理解记忆,记错公式可能会出错,
计算公式如下:
假设三维数组为A[a][b][c]中数据元素以行优先顺序存储,计算A[x][y][z]的地址,
A[a][b][c]的存储地址=起始地址+(x*b*c+y*c+z)*单位元素字节数;