0

通常,在函数中声明的局部变量是在堆栈上分配的,而不是在堆上,但如果变量是静态的,情况就不是这样了。为什么不能在堆栈上分配静态类变量?

4

3 回答 3

3

因为那样它就不是静态的了。你的问题体现了一个矛盾的术语。

于 2013-10-11T00:29:37.597 回答
2

分配在堆栈上的变量会被自动删除。您不希望删除静态变量。

于 2013-10-11T01:17:00.917 回答
1

局部静态变量的生命周期是整个程序,但堆栈在多个函数调用中被所有函数使用、重用和重用。因此静态局部变量不能与其他局部变量一起存储在堆栈中。

于 2013-10-11T00:29:43.613 回答