【发布时间】:2012-08-20 19:22:37
【问题描述】:
我想知道哪些变量存储在堆栈、堆等中。 假设我有一个变量、一个数组、一个指针等。这些将存储在哪里(堆栈、堆、未知)?静态变量存储在哪里。当变量、数组、指针被声明为静态时,它们将存储在哪里?全局变量和声明为 extern 的变量存储在哪里。
【问题讨论】:
-
这样的一般情况,稍微用谷歌搜索一下就可以了,伙计
-
不妨自己阅读标准,提出这样一个广泛的问题。
-
@Steve:你有例子吗?我的谷歌搜索有点弱。
-
您可能想阅读最新语言标准的draft,尤其是第 6.2.4 节。它不会告诉您它是存储在 stack 还是 heap 上(这取决于实现),但它会为您提供变量生命周期的规则。再加上您的系统规范和使用的目标文件格式,您可能会猜到事情的发展方向。