问题 单项选择题

若二维数组arr[1..8,1..6]的首地址为base,数组元素按列存储,且每个元素占用4个存储单元,则元素arr[5,5]在该数组空间的地址为()。

A.base+(4*8+4)*4

B.base+(5*8+5)*4

C.base+(4*6+4)*4

D.base+(5*6+5)*4

答案

参考答案:A

解析:

本题考查数组元素的存储。

二维数组arr[1..8,1..6]元素布局如下所示:

arr[1,1]arr[1,2]arr[1,3]arr[1,4]arr[1,5]arr[1,6]
arr[2,1]arr[2,2]arr[2,3]arr[2,4]arr[2,5]arr[2,6]
arr[3,1]arr[3,2]anr[3,3]arr[3,4]arr[3,5]arr[3,6]
arr[4,1]arr[4,2]arr[4,3]arr[4,4]arr[4,5]arr[4,6]
arr[5,1]arr[5,2]arr[5,3]arr[5,4]art[5,5]arr[5,6]
arr[6,1]arr[6,2]arr[6,3]arr[6,4]arr[6,5]arr[6,6]
arr[7,1]arr[7,2]arr[7,3]arr[7,4]arr[7,5]arr[7,6]
arr[8,1]arr[8,2]arr[8,3]arr[8,4]arr[8,5]arr[8,6]

按列存储时,元素arr[5,5]之前有4列(每列8个元素),在第5列中,arr[5,5]之前有4个元素,因此,存储在arr[5,5]前面的元素总数为4*8+4。

综上,元素arr[5,5]在该数组空间的地址为base+(4*8+4)*4。

单项选择题
多项选择题