6.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153...

则数组元数A[6][7]的存储地址为?请大家告诉我求结果的方法,谢谢

A[2][3]和A[4][7]之间间隔2行加4个成员,加上它们自身,共2*8+4+2=22个成员,
它们的地址间偏移为:1153-1087=66,所以每个成员的存储占3个地址空间。

A[6][7]和A[4][7]之间间隔2行,加上它们自身,共2*8+2=18个成员,
所以A[6][7]的地址为:1153+3*18=1207,追问

加上他们自身什么意思呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-30
A[2][3]到A[4][3]有9*2=18个元素,A[4][3]到A[4][7]有4个元素,总共22个元素,而地址相差1153-1087=66,所以每个元素占3个字节。
A[4][7]到A[6][7]有18个元素,所以A[6][7]地址为18*3+1153=1207
第2个回答  2011-12-30
在TC中,int类型占用2个字节,而在VC++中是4个字节,下面以占用n(n = 2或4)个字节长度来计算。
行差: 4 - 2 = 2行,列差: 7 - 3 = 4列,即
(9 * 2 + 4)n = 1153 - 1087
n = 3(纳闷!)
第3个回答  2011-12-30
(4-2)*9*n+(7-3)*n=1153-1087
22n=66
n=3
n为单位数组类型占的字节数。
A[6][7]=A[4][7]+2*9*n=1153+54=1207。