A是7×4的二维数组,按行优先方式顺序存储,元素A[0][0]的存储地址为1000,若每个元素占2个字节,则元素A[3][3]的存储地址为()

A是7×4的二维数组,按行优先方式顺序存储,元素A[0][0]的存储地址为1000,若每个元素占2个字节,则元素A[3][3]的存储地址为()


A、

1026


B、

1028


C、

1030


D、

1032


【正确答案】:C
【题目解析】:

对于二维数组a[m][n],如果每个元素占k个存储单元,以行为主序为例,讨论数组元素a[i] [j]位置与下标的关系。
由于下标从0开始,元素a[i] [j]之前已经有i行元素,每行有n个元素,在第i行, 有j+1个元素,总共有n*i+j+1个元素,第一个元素与a[i] [j]相差n*i+j+1-1个位置, 故 a[i] [j]的位置为:loc[i, j]=loc[0,0]+(n*i+j)*k。
本题中,对于7×4的二维数组,m=7,n=4,k=2,loc[0,0]=1000,故:

loc[3, 3]=1000+(4*3+3)*2=1030,故本题选C。


Top