【发布时间】:2012-12-23 21:13:41
【问题描述】:
程序中的静态变量在所有执行时间都存在于内存中,而子程序的静态变量是通过推送子程序的激活记录进出程序的函数调用栈,但是:
主程序中块(我的意思是控制结构或任何 {} 块)中的静态变量怎么样?在定义它们的块之外无法访问它们,它们的内存概念如何?
它们是否在整个程序执行过程中都存在于内存中,但在它们的块之外无法访问,或者除了子程序之外的每个块都有激活记录?
【问题讨论】:
-
Local scope. 在块中声明的名称只能在该块及其所包含的块内访问,并且只能在声明点之后访问。 static 关键字。