设数组a[1…m,1…n](2<m<n),其第一个元素为a[1,1],最后一个元素为a[m,n],若数组元素以行为主序存放,每个元素占用k个存储单元(k>1),则元素a[2,2]的存储位置相对于数组空间首地址的偏移量为_____________。

admin2019-05-11  31

问题 设数组a[1…m,1…n](2<m<n),其第一个元素为a[1,1],最后一个元素为a[m,n],若数组元素以行为主序存放,每个元素占用k个存储单元(k>1),则元素a[2,2]的存储位置相对于数组空间首地址的偏移量为_____________。

选项 A、(n+1)*k
B、n*k+1
C、(m+1)*k
D、m*k+1

答案A

解析 本题考查数组元素的存储。二维数组的存储结构可分为以行为主序和以列为主序两种方法。设每个元素占用k个单元,m、n为数组的行数和列数,则以行为主序优先存储的地址计算公式为:Loc(aij)-Loc(a11)+((i-1)*n+(j-1))*k;以列为主序优先存储的地址计算公式为:Loc(aij)=Loc(a11)+((j-1)*m+(i-1))*k。
    arr[2,2]-arr[1,1]=(1*n+1)*k=(n+1)*k。
转载请注明原文地址:https://kaotiyun.com/show/0gVZ777K
0

最新回复(0)