设数组a[0..m,1..n]的每个元素占用1个存储单元,若元素按行存储,则数组

题库2022-08-02  49

问题 设数组a[0..m,1..n]的每个元素占用1个存储单元,若元素按行存储,则数组元素a[i,j](0≤i≤m,1≤j≤n)相对于数组空间首地址的偏移量为(  )。A.(i+1)*n+jB.i*n+j-1C.i*m+jD.i*(m+1)+j-1

选项 A.(i+1)*n+j
B.i*n+j-1
C.i*m+j
D.i*(m+1)+j-1

答案 B

解析 本题考查数据结构基础知识。
    二维数组元素的存储布局可以按行安排,也可以按列安排。元素a[i.j]相对于数组空间首地址的偏移量计算方法为:先算出存储在该元素之前的行数(或列数),然后算出在该元素所在行(或列)上排在a[i.j]之前的元素个数。根据以上信息算出存储在a[i,j]之前的元素个数,再乘以每个元素占用的存储单元个数即可。题中数组元素按行存储,在a[i,j]之前有i行(行号为0、1、…、i-1)、每行n个元素,在其所在行,a[i,j]之前有j-1个元素,因此偏移量为i*n+j-1。
转载请注明原文地址:https://tihaiku.com/congyezige/2427844.html

最新回复(0)