全局变量都是静态存储吗
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是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询