【发布时间】:2014-05-13 13:19:55
【问题描述】:
在一次采访中,有人问我:
给你一个起始地址为 0 的堆栈。堆栈的值为 1000,每个位置可以存储 8 个字节的数据。第42个元素的内存位置是什么?
【问题讨论】:
-
没有足够的信息来回答。
-
@tod :: 很多人已经给出了答案。
在一次采访中,有人问我:
给你一个起始地址为 0 的堆栈。堆栈的值为 1000,每个位置可以存储 8 个字节的数据。第42个元素的内存位置是什么?
【问题讨论】:
让我们看看一些值并尝试找到一个模式。
0 -> 1000
1 -> 1008
2 -> 1016
从 1000 开始,每次上升 8,所以
n -> 1000 + 8*n
42 -> 1000 + 8*42
42 -> 1336
【讨论】:
这很简单。
然后:
Element[42] = Memory[1000 + 8*42]
【讨论】:
@Time S.
“它长大了”这句话不一定是真的。 它也可以向下生长。
所以你的第二个例子更正确。在这种情况下,N 可以是负数。
【讨论】: