工学

单选题设二维数组A[0…m-1][0…n-1]按行优先顺序存储在内存中,第一个元素的地址为p,每个元素占k个字节,则元素aij的地址为()。A p+[i*n+j-1]*kB p+[(i-1)*n+j-1]*kC p+[(j-1)*n+i-1]*kD p+[j*n+i-1]*k

题目
单选题
设二维数组A[0…m-1][0…n-1]按行优先顺序存储在内存中,第一个元素的地址为p,每个元素占k个字节,则元素aij的地址为()。
A

p+[i*n+j-1]*k

B

p+[(i-1)*n+j-1]*k

C

p+[(j-1)*n+i-1]*k

D

p+[j*n+i-1]*k

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有二维数组A[0…9][0…19],其每个元素占两个字节,数组按列优先顺序存储,第一个元素的存储地址为100,那么元素A[6,6]的存储地址为__________。


正确答案:
232
二维数组A[0…m][0…n]数据按行优先顺序存储时,下界为0时元素aij的地址计算公式为:LOC(aij)=LOC(a00)+D×(m+1)+i]×d。所以本题中元素的存储地址为100+[6×10+6]×2=232。

第2题:

二维数组A[0…8][0…9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为

A.570

B.506

C.410

D.482


正确答案:A
解析:由于该数组按行优先顺序存储,所以每行共占10×2=20个字节。由此可知:A[8,5](第9行第6个元素)的地址是400+20×8+2×5=570。计算公式:对于按行优先顺序存储的二维数组A[m][n],若其首地址是S,每个元素占k个字节,则数组元素A[i][j]的地址P是p=S+(i*n+j)*k;在本题中,A[8,5]用C描述就是A[8][5],我们使用公式:P=400+(8*10+5)*2=570。

第3题:

二维数组A[0…8,0…9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为

A.570

B.506

C.410

D.482


正确答案:A
解析:存储地址=首地址+相对偏移地址。

第4题:

设有二维数组A[0…8,0…9],其中每个元素占2个字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为______。

A.570

B.506

C.410

D.482


正确答案:A

第5题:

设C++二维数组a[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放数组元素,a[3][5]的存储地址为1000,则a[0][0]的存储地址是()。

A.872

B.860

C.868

D.864


参考答案:B

第6题:

二维数组A[0…8,0…9],其每个元素占2个字节,从首地址300开始,按列优先顺序存放,则元素A[8,5]的存储地址为( )。

A)470

B)406

C)454

D)382


正确答案:C
由于该数组按列优先顺序存储,可知: A[8,5](第9行第6个元素)的地址是300+18×8+2×5=454。
汁算公式如下:对于按列优先顺序存储的二维数组A[m][n],若其首地址是S,每个元素占k个字节,则数组元素A[i][j]的地址P是P=S+(i﹡m+j)+k;本题中,P=300+(8﹡9+5) ﹡2=454。

第7题:

二维数组A[0,…,8][0,…,9],其每个元素占2字节。从首地址400开始,按行优先顺序存储,则元素A[8][5]的存储地址为( )。

A.570

B.506

C.410

D.482


正确答案:A
A。【解析】A[8][5]元素存储的位置在第9行第6列,所以A[8][5]之前存储的个数应为8×10+5=85,这些元素占用的空间为85×2字节=170字节,所以A[8][5]的存储位置为400+170=570。

第8题:

设有二维数组A[1,…,10][1,…: 12],其每个元素占2个字节,数据按行优先顺序存储,第一个元素的存储地址为1000,则元素A[5][5]的存储地址为________。


正确答案:
1104
二维数组数据按行优先顺序存储时,元素aD的地址计算公式为:LOC(aij)=LOC(a11)+[n×(i-1)+(i-1)]×d。所以本题中元素的存储地址为1000+[(5一1)×12+5-1]×2=1104。

第9题:

设有二维数组A[0…9,0…19],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[6,6]的存储地址为【 】。


正确答案:352
352 解析:行优先:Loc=100+(6×(19+1)+6)×2= 352。若列优先:Loc=100+(6×(9+1)×6)×2=232

第10题:

设有二维数组A7×8,每个数据元素占8个字节存储单元,顺序存放,A第一个元素A0,0的存储地址为1000,按行优先存放时,元素A3,4的地址为()。

A.1224

B.1208

C.1200

D.1216


正确答案:A

更多相关问题