早教吧 育儿知识 作业答案 考试题库 百科 知识分享

二维数组问题有一个二维数组A,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相邻的4个字节存储。存储器按字节编址。假设存储数组元素A01的第一个字节的地址是0。

题目详情
二维数组问题
有一个二维数组 A,行下标的范围是 0 到 8,列下标的范围是 1 到 5,每个数组元素用相邻的 4 个字节存储。存储器按字节编址。假设存储数组元素 A01的第一个字节的地址是 0。
存储数组 A 的最后一个元素的第一个字节的地址是 A 。若按行存储,则 A35和 A53的第一个字节的地址分别是 B 和 C 。若按列存储,则 A71和 A24的第一个字节的地址分别是 D 和 E 。

供选择的答案A~E:①28 ② 44 ③ 76 ④ 92 ⑤ 108 ⑥ 116 ⑦ 132 ⑧ 176 ⑨ 184 ⑩ 188

答案 8 3 5 1 6
有没有什么公式什么的??
▼优质解答
答案和解析
A01 = 0
A02 = 4
A03 = 8
.....
A11 = 20
A12 = 24
....
所以按行存储的公式是Aij = 20*i+4*(j-1)
所以B = A35 = 20*3+4*(5-1) = 60+16 = 76
C = A53 = 20*5+4*(3-1) = 100+8 = 108
-------------------------------------------------------------------------
下面是按列存储
A01 = 0
A11 = 4
A21 = 8
......
A11 = 36
A12 = 40
.......
所以按列存储的公式是Aij = 4*i + 36*(y-1)
所以D = A71 = 4*7 + 36*(1-1) = 28
E = A24 = 4*2 + 36*(4 -1)= 8+36*3 = 116
A的地址无论是按行存储还是按列存储都一样的,
行存储:A85 = 20*8 + 4*(5-1) = 160+16 = 176
列存储:A85 = 4*8 + 36*(5-1)=32 + 144 = 176
所以答案是176,76,108,28,116