复制
收藏
提问
全网
以“以行为主序”,设数组的基址为LOC(a00),每个数组元素占据c个地址单元, aij的物理地址=?
5月前
回答简洁
更专业一些
在以行为主序的存储方式中,如果数组的基址为LOC(a00),每个数组元素占据c个地址单元,那么元素aij的物理地址可以通过以下公式计算得出:
$ LOC(aij) = LOC(a00) + (i \times n + j) \times c $
这里的LOC(a00)是二维数组A[0][0]的存储位置,也就是数组的起始存储位置,也称为基地址或基址。i是元素aij的行索引,j是列索引,n是数组的列数,c是单个数据元素占据的存储单元数。
根据引用1和5,我们可以知道,行优先存储方式的计算公式是LOC(aij) = LOC(a00) + [i*n + j] * c。引用3也提供了类似的计算方法,但是它是基于基址LOC(a11),即数组的第一个元素的存储地址,而我们的问题是基于基址LOC(a00)。