若二维数组arr[1..M,1..N]首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间地址为______。
- A.base+((i-1)*M+j-1)*K
- B.base+((i-1)*N+j-1)*K
- C.base+((j-1)*M+i-1)*K
- D.base+((j-1)*N+i-1)*K
正确答案及解析
正确答案
C
解析
本题考查数组元素存储知识。二维数组arr[1..M,1..N]元素可以按行存储,也可以按列存储。按列存储时,元素排列次序为,先是第一列所有元素,然后是第二列所有元素,最后是第N列所有元素。每一列元素则按行号从小到大依次排列。因此,对于元素arr[i,j],其存储位置如下计算:先计算其前面j-1列上元素总数,为(j-1)*M,然后计算第j列上排列在arr[i,j]之前元素数目,为i-1,因此arr[i,j]地址为base+((j-1)*M+i-1)*K。
你可能感兴趣的试题

-
- A.V(S2)和P(S4)
- B.P(S2)和V(S4)
- C.P(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案

-
- A.V(S1)P(S2)和V(S3)
- B.P(S1)V(S2)和V(S3)
- C.V(S1)V(S2)和V(S3)
- D.P(S1)P(S2)和V(S3)
- 查看答案

-
- A.P(S4)和V(S4)V(S5)
- B.V(S5)和P(S4)P(S5)
- C.V(S3)和V(S4)V(S5)
- D.P(S3)和P(S4)V(P5)
- 查看答案

-
- A.P(S3)和V(S4)V(S5)
- B.V(S3)和P(S4)P(S5)
- C.P(S3)和P(S4)P(S5)
- D.V(S3)和V(S4)V(S5)
- 查看答案

-
- A.P(S2)和P(S4)
- B.P(S2)和V(S4)
- C.V(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案