假设以行序为主序存储二维数组A=array[1..30,1..20],设每个数据元素占2个存储单元,基地址LOC[1,1]为9800,则LOC[16,12]的存储位置为( ).
时间: 2024-01-01 17:06:43 浏览: 269
行序为主序进行存储-第5章 数组与广义表
假设以行序为主序存储二维数组A[array[1..30][1..20]],每个数据元素占2个存储单元,基地址LOC[1][1]为9800,则LOC[16][12]的存储位置为:
首先,我们需要知道数组元素在内存中的存储顺序,以行序为主序存储,也就是先存储第一行,再存储第二行,以此类推。
由于每个数据元素占用2个存储单元,因此每行存储的元素个数是20个,每行占用的存储单元数是20*2=40。
那么,第16行的起始地址为:
LOC[16][1] = LOC[1][1] + (16-1)*40*2 = 9800 + 600 = 10400
由于第12列是从这个起始地址开始的第12个元素,因此LOC[16][12]的存储位置为:
LOC[16][12] = LOC[16][1] + (12-1)*2 = 10400 + 22 = 10422
因此,LOC[16][12]的存储位置为10422。
阅读全文