A-A+

设有数组A[m n] 数组的每个元素占3个存储单元 m的值为1~8 n的值为 1~10。数组

2022-08-06 00:36:10 问答库 阅读 173 次

问题详情

设有数组A[m,n],数组的每个元素占3个存储单元,m的值为1~8,n的值为 1~10。数组从首地址W开始顺序存放,当以列为主序存放时,元素A[5,8]的存储首地址为(65)。
A.W+222
B.W+225
C.W+141
D.W+180请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
以列为主序存储就是把二维数组中的数据一行一行地顺次存入存储单元。二维数组A[1..m,1..n)若以列为主序存储,那么A的任意一个元素A[i][j]的存储首地址Loc(i,j)可由下式确定:Loc(i,j)=Loc(1,1)+[m×(j-1)+i-1)×b其中,Loc(1,1)是第一个元素A[1][1]的首地址,b是每个元素占用的存储单元个数。此题中代入数值得:Loc(5,8)=W+[8×(8-1)+5-1)×3=W+180,于是选择D。

考点:数组,单元