【问题标题】:How do I find the memory location of items on the stack? [closed]如何找到堆栈上项目的内存位置? [关闭]
【发布时间】:2014-05-13 13:19:55
【问题描述】:

在一次采访中,有人问我:

给你一个起始地址为 0 的堆栈。堆栈的值为 1000,每个位置可以存储 8 个字节的数据。第42个元素的内存位置是什么?

【问题讨论】:

  • 没有足够的信息来回答。
  • @tod :: 很多人已经给出了答案。

标签: memory stack bits


【解决方案1】:

让我们看看一些值并尝试找到一个模式。

0 -> 1000
1 -> 1008
2 -> 1016

从 1000 开始,每次上升 8,所以

n -> 1000 + 8*n

42 -> 1000 + 8*42
42 -> 1336

【讨论】:

  • 谢谢我现在得到答案
【解决方案2】:

这很简单。

  • 元素[0] = 内存[1000]
  • sizeof(Element) = 8

然后:

Element[42] = Memory[1000 + 8*42]

【讨论】:

    【解决方案3】:

    @Time S.

    “它长大了”这句话不一定是真的。 它也可以向下生长。

    所以你的第二个例子更正确。在这种情况下,N 可以是负数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-22
      • 2012-11-03
      • 1970-01-01
      相关资源
      最近更新 更多