设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为BA+180 。
可以用图像形式展示一下解题思路吗?
因为8行10列(即每列完整算来有8个元素),然后按列存储,对于A[5,8]前面就是遍历过了完整的7列(即elementnum1=7x8个元素);
然后走到第8列时停留在5那个位置(即在第8这一列上走过elementnum2=4个元素就到了我们所求的位置)。
所以总元素数elementnum=elementnum1+elementnum2=7x8+4=60
而每个元素占3个字节,所以是elementnum * 3=60x3=180 ,故最后是BA+180