全局变量都是静态存储吗
2个回答
展开全部
首先,全局变量不可能是静态的。static 只是定义局部变量,使其在函数调用结束后不释放存储空间,使下一次调用该函数时继续使用上一次调用的结果,这点经常用到。
再者,对于全局变量来说,如果在其定义后的接下来的程序中,某函数用到了与其同名的变量,则在该变量所在函数中,全局变量被屏蔽,无法使用。
当然全局变量在实质上是静态存储的!!
我的意思是它无法用static声明,就算在某些编译器上是允许的,但没有任何意义。
1、全局变量所占存储空间在整个程序运行过程中都不会释放,而声明变量为static的目的恰恰就是为了达到这点,因此是否声明为static无意义。
2、”用static声明局部变量“的目的是使局部变量在调用完函数后仍不释放空间,而全局变量完全能做到这点。(当然,能不用试最好不要去用全局变量,它会造成很多干扰)
3、全局变量当然可以在“它所作用的区域里的”任何一个函数中改变它的值,但前提是:
<1>在哪个函数中没有与它名称相同的变量(这其实就是全局变量的问题之一),否则就会造成”屏蔽“。
<2>全局变量的作用区域只在它所声明的位置之后的所有程序中!
再者,对于全局变量来说,如果在其定义后的接下来的程序中,某函数用到了与其同名的变量,则在该变量所在函数中,全局变量被屏蔽,无法使用。
当然全局变量在实质上是静态存储的!!
我的意思是它无法用static声明,就算在某些编译器上是允许的,但没有任何意义。
1、全局变量所占存储空间在整个程序运行过程中都不会释放,而声明变量为static的目的恰恰就是为了达到这点,因此是否声明为static无意义。
2、”用static声明局部变量“的目的是使局部变量在调用完函数后仍不释放空间,而全局变量完全能做到这点。(当然,能不用试最好不要去用全局变量,它会造成很多干扰)
3、全局变量当然可以在“它所作用的区域里的”任何一个函数中改变它的值,但前提是:
<1>在哪个函数中没有与它名称相同的变量(这其实就是全局变量的问题之一),否则就会造成”屏蔽“。
<2>全局变量的作用区域只在它所声明的位置之后的所有程序中!
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询