二维数组存储地址计算

二维数组存储地址计算设数组a[1...60,1...70]的基地址为2048,每个
8.
元素占2个存储单元,若以列序为主序顺序存储,
则元素a[32,58]的存储地址为__8950
答: 不考虑0行0列,利用列优先公式:
LOC(aij)=LOC(ac1,c2)+[(j-c2)*(d 1-c 1+ 1)+i-c 1)]*L
得: LOC(a32
58)=2048+[(58-1)*(60-1+1)+32-1]]*2 =8950
c1、c2、d1都是什么?为什么这么算?

c1,c2为二维数组a1,1的下标分别为1,所以c1=1 c2=1
d1为二维数组的行数
这样算的原因说那啥点是一个公式,考试会用就行了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-31
i-p是在a[i][j]之前的行数,每一行有n列,并且是从第零行开始,而a[i][j]在第i行第j列,故再加上j-p,你画个表就知道了