问题 填空题

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

答案

参考答案:232

解析: 因为该数组按列优先顺序存储,即存储顺序是: A[0,0],A[1,0],A[2,0]…A[9,0] A[0,1],A[1,1],A[1,1]…A[9,1] A[0,9],A[1,9],A[2,9]…A[9,19] 已知A[0,0](第1行的第1个元素)的地址为100,则A[0,1](第2行的第1个元素)的地址是120,依次类推,A[0,6] (第7行的第1个元素)的地址为220,所以A[6,6]的存储地址是232。 还可以告诉你一个计算公式: 对于按行优先顺序存储的二维数组A[m][n],若其首地址是S,每个元素占A个字节,则数组元素A[i][j]的地址p是 p=S+(i×n+j)×k。 按列优先顺序存储时,则有: p=S+(j×m+i)×k (这里说的数组下标都是从0开始的) 套用第2个公式: p=100+(6×10+6)×2=232

解答题
单项选择题