设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址100,那么元素A[5,5]的存储地址为( )。
A.176
B.276
C.208
D.308
参考答案:D
解析:
给出任意一数组元素的下标,可以直接计算数组元素的存放地址。二维数组元素地址的计算公式为:
行优先顺序下:LOC(aij)=LOC(a11)+((i-1)×n+(j-1))×λ
列优先顺序下:LOC(aij)=LOC(a11)+((j-1)×n+(j-1))×λ
式中,n和m分别为数组每行和每列的元素个数,λ为每个数组元素占用的存储单元个数。
依据题意,n=10,m=12,λ=4,LOC(aij)=LOC(a11)+((j-1)×m+(i-1))×λ=100+((5-1)×12+(5-1))×4=308,即A[5,5]的存储地址为308。