什么是静态变量?

什么是静态变量?它与局部变量有什么差别?... 什么是静态变量? 它与局部变量有什么差别? 展开
 我来答
talencz
2008-09-08 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:140万
展开全部
用 static 修饰符声明的字段称为静态变量。静态变量在包含了它的那个类型的静态析构函数(第 10.11 节)执行之前就存在了,在关联的应用程序域终止时终止。

局部变量是通过局部变量声明来声明的,此声明可以出现在块、for 语句、switch 语句或 using 语句中。

局部变量的生存期是程序执行过程中的某一“段”,在此期间,一定会为该局部变量保留存储。此生存期从进入与它关联的块、for 语句、switch 语句或 using 语句开始,一直延续到对应的块、for 语句、switch 语句或 using 语句的执行以任何方式结束为止。(进入封闭块或调用方法会挂起(但不会结束)当前的块、for 语句、switch 语句或 using 语句的执行。)如果以递归方式进入父块、for 语句、switch 语句或 using 语句,则每次都创建局部变量的新实例,并且重新计算它的局部变量初始值设定项(如果有的话)。

局部变量不自动初始化,因此没有默认值。出于明确赋值检查的目的,局部变量被视为初始未赋值。局部变量声明可包括局部变量初始值设定项,在此情况下变量被视为在它的整个范围内(局部变量初始值设定项中提供的表达式内除外)已明确赋值。

在局部变量的范围内,在局部变量声明符之前的文本位置引用该局部变量是编译时错误。

局部变量的实际生存期依赖于具体实现。例如,编译器可能静态地确定块中的某个局部变量只用于该块的一小部分。根据这种分析,编译器生成的代码可能会提前回收该变量的存储(相对于包含该变量的生存期)。

局部引用变量所引用的存储的回收与该局部引用变量(第 3.9 节)的生存期无关。

foreach 语句和 try 语句的特定 catch 子句也声明局部变量。对于 foreach 语句,局部变量是一个迭代变量(第 8.8.4 节)。对于特定的 catch 子句,局部变量是一个异常变量(第 8.10 节)。foreach 语句或特定的 catch 子句所声明的局部变量被视为在它的整个范围内已明确赋值。

MSDN有各种变量的详细说明

参考资料: http://msdn.microsoft.com/zh-cn/library/aa691170(VS.71).aspx

快又稳
2024-10-28 广告
在Linux环境下配置基于域名的虚拟主机,需安装Apache或Nginx等Web服务器,并编辑配置文件。以Apache为例,需创建虚拟主机配置文件,指定域名、文档根目录等,然后启用该配置文件并重启Apache服务。同样,Nginx也需在相应... 点击进入详情页
本回答由快又稳提供
冰火战地
2008-09-08 · TA获得超过141个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:181万
展开全部
ok
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式