从基地址找到位置

时间:2015-04-15 18:01:04

标签: arrays pseudo-element memory-address

所以我的计算机科学教授决定问我们一个问题,但没有给出如何找到答案的指示。问题如下:

计算以下元素的位置,其中基址为FFFFFBACD: A [4] [6],A [5] [5],A [2] [7] 该数组声明为int [] [] = new int [8] [10]

他并没有要求我们编程,只是找到位置。我的问题是基地址看起来很不清楚,我不知道如何进行计算以找到答案。任何指导都将非常感谢!!

1 个答案:

答案 0 :(得分:2)

假设你的整数是4个字节,那么元素[0] [0]位于地址FFFFFBACD

下一个元素是[0] [1],距离为4个字节,意思是:FFFFFBAD1

总的来说,每个“行”中有10个元素,因此有40个字节。因此[1] [0]的地址是FFFFFBACD + 40字节= FFFFFBAF5

因此,[4] [6]将从起始地址开始为40 * 4 + 5 * 4字节:FFFFFBB85

(请注意,这里的行数是4,每行乘以40个字节,第五行中的元素数是6,每个长度是4个字节 - 这些是乘以4的不同原因。)

使用此逻辑,尝试找到其他地址。它不应该那么难。