【问题标题】:where does dynamic memory variable live in memory in the following situation?在以下情况下,动态内存变量在内存中的什么位置?
【发布时间】:2020-08-03 06:49:06
【问题描述】:

让我们说一下我们使用 malloc 创建的动态内存变量。

dynamic_memory_variable = malloc(byte_size)

动态内存显然是在堆上分配的,但是 dynamic_memory_variable 住在哪里?

如果我没记错的话,它是一个存在于堆栈上的局部变量,因为它现在是函数调用的局部变量?我的推测正确吗?

【问题讨论】:

  • ..假设它是一个局部变量。如果您愿意,您可以 malloc 到全局和静态指针。

标签: memory operating-system stack heap-memory


【解决方案1】:

你是对的,dynamic_memory_variable will 只是一个变量/指向内存的指针。该变量将仅存在于堆栈上,但它所引用的内存位于堆上。如果指针丢失,内存仍然被分配,但无法访问,也无法释放。

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 2014-05-08
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    相关资源
    最近更新 更多