【问题标题】:Storage of c variables in memory [closed]在内存中存储c变量[关闭]
【发布时间】:2012-08-20 19:22:37
【问题描述】:

我想知道哪些变量存储在堆栈、堆等中。 假设我有一个变量、一个数组、一个指针等。这些将存储在哪里(堆栈、堆、未知)?静态变量存储在哪里。当变量、数组、指针被声明为静态时,它们将存储在哪里?全局变量和声明为 extern 的变量存储在哪里。

【问题讨论】:

  • 这样的一般情况,稍微用谷歌搜索一下就可以了,伙计
  • 不妨自己阅读标准,提出这样一个广泛的问题。
  • @Steve:你有例子吗?我的谷歌搜索有点弱。
  • 啊,我们开始:bharat226.blogspot.com/2012/07/…
  • 您可能想阅读最新语言标准的draft,尤其是第 6.2.4 节。它不会告诉您它是存储在 stack 还是 heap 上(这取决于实现),但它会为您提供变量生命周期的规则。再加上您的系统规范和使用的目标文件格式,您可能会猜到事情的发展方向。

标签: c++ c variables memory


【解决方案1】:

静态和全局变量存储在全局数据内存中(不是堆栈或堆)。 extern 对存储有影响。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多