为什么A[5][5]的存储位置是472:按行序优先存储的二维数组,每个元素占1个存储单元,数据元素A[1][1]的存

2024-12-23 12:37:45
推荐回答(1个)
回答1:

设基地址为b(数组地址),列宽为n(字节),行索引为R,列索引为C,元素在整个存储区中的索引为i
则公式b+R*n+C=b+i
显然题目中未明确列宽,所以必须先计算n,因此以两个元素行列差与位置差计算n
(3-1)*n+(3-1)=446-420
2n+2=26
n=12
又因b+1*n+1=420
则基地址为b=420-12-1=407
因此代入公式
A[5][5]=407+5*12+5=472