精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>C、C++语言基础>>静态变量和全局变量有什么不同

主题:静态变量和全局变量有什么不同
发信人: often()
整理人: girlrong(1999-11-13 08:15:30), 站内信件
两者有没有特殊的地方?


----- 不耻下问 ------

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.116.46.25]
发信人: easehawking (Kidding), 信区: C
标  题: Re: 静态变量跟全局变量有什么不同?
发信站: 网易虚拟社区 (Fri Aug  6 21:01:48 1999), 站内信件

【 在 often (小常) 的大作中提到: 】
: 两者有没有特殊的地方?


: ----- 不耻下问 ------
:    .......

作用域不同

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.38.248.17]
发信人: pjntt (幻龙), 信区: C
标  题: Re: 静态变量跟全局变量有什么不同?
发信站: 网易虚拟社区 (Fri Aug  6 21:24:05 1999), 站内信件

【 在 often (小常) 的大作中提到: 】
: 两者有没有特殊的地方?


: ----- 不耻下问 ------
:    .......
静态变量的作用域是在声名其的类内而全局变量的作用域则是整个程序



--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.190.124]
发信人: girlrong (阿蓉), 信区: C
标  题: Re: 静态变量跟全局变量有什么不同?
发信站: 网易虚拟社区 (Fri Aug  6 22:20:50 1999), 站内信件

【 在 often (小常) 的大作中提到: 】
: 两者有没有特殊的地方?


: ----- 不耻下问 ------
:    .......

全局变量在任何地方都是可见的。静态变量只在声明它的作用域内可见,这和全
局变量不同。当每次超出静态变量的作用域时,静态变量变得不可见,但它的值
还保留着。下次进入静态变量的作用域内时,静态变量不会被重初始化,上次的
值还留着,还可以继续用。

--
你好。请在“将文章寄一份给原作者”里打个钩,如何?

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.243.185]
发信人: pjntt (幻龙), 信区: C
标  题: Re: 静态变量跟全局变量有什么不同?
发信站: 网易虚拟社区 (Fri Aug  6 23:52:33 1999), 站内信件

【 在 girlrong (阿蓉) 的大作中提到: 】
: 【 在 often (小常) 的大作中提到: 】
: : 两者有没有特殊的地方?
: : 
: : 
:    .......

请教:那静态变量不就是和全局变量一样,要等到程序结束的时候才能释放吗?
静态变量是否可以在程序没有结束的时候释放?除了之FREE()还有什么函数完
成此功能?


--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.64.117]
发信人: girlrong (阿蓉), 信区: C
标  题: Re: 静态变量跟全局变量有什么不同?
发信站: 网易虚拟社区 (Sat Aug  7 10:59:47 1999), 站内信件

【 在 pjntt (幻龙) 的大作中提到: 】
: 【 在 girlrong (阿蓉) 的大作中提到: 】
: : 【 在 often (小常) 的大作中提到: 】
: :    .......

:    .......

没错,静态变量一般要到程序结束时释放。至于提前释放的方法嘛,我也没想过
,不好意思。
转载<<Visual C++语言参考手册>>中C语言参考部分关于static存储类的说明:

    用存储类说明符static声明的内部变量有全局的生存周期,但只在定义它的
块中可见。对于常量字符串,可以使用static,因为它减少了经常调用函数频繁
初始化的负担。
    如果未显式初始化stitc变量,那么它默认地被初始化为0。在函数内部,st
atic导致存储的分配,并被作为定义。内部静态变量提供了仅在一个函数中可见
的私有,永久的存储。

--
你好。请在“将文章寄一份给原作者”里打个钩,如何?

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.243.149]

[关闭][返回]