请选择 进入手机版 | 继续访问电脑版
贠老师培训群:150322713    贠老师QQ:767708506

贠老师office培训-excel学习网

 找回密码
 立即注册
点击咨询贠老师
查看: 127|回复: 5

[C语言] 编写C语言程序时为什么要使用静态变量

[复制链接]

3172

主题

3269

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22691
发表于 2015-12-24 22:52:49 | 显示全部楼层 |阅读模式
静态变量作为一个局部变量是很合适的,它在函数退出后不会失去其本身的值。例如,有一个要被调用很多次的函数,它的一部分功能就是计算自己被调用的次数。你不能用一个简单的局部变量来实现这部分功能,因为每次进入该函数时,这个变量都没有被初始化。如果把这个计数变量说明为静态的,那么它就会象一个全局变量那样保留自己的当前值。

那么为什么不直接使用一个全局变量呢?你可以使用一个全局变量,而且这样做没有错误。问题是使用了大量全局变量的程序维护起来很麻烦,尤其是有许多函数都各自访问一个全局变量的程序。再说一遍,这样做没有错误,这只是一个程序设计和可读性是否好的问题。如果你把这样的变量说明为静态的,你就可以提醒自己(或者其它可能读你的程序的人)它是局部变量,但要象全局变量那样被处理(保留自己的值)。如果你把它说明为全局的,那么读这个程序的人一定会认为有很多地方要引用它,尽管实际上并不是这样。

总而言之,当你需要一个能保持自己的值的局部变量时,使用静态变量是一种好的编程习惯。
回复

使用道具 举报

2

主题

1048

帖子

156

积分

注册会员

Rank: 2

积分
156
发表于 2016-1-20 20:10:09 | 显示全部楼层
好东西一定要看看!
回复 支持 反对

使用道具 举报

1

主题

886

帖子

5

积分

注册会员

Rank: 2

积分
5
发表于 2016-1-31 09:53:49 | 显示全部楼层
有些不是太明白,研究研究再说
回复 支持 反对

使用道具 举报

0

主题

704

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2016-6-3 21:44:51 | 显示全部楼层
顶一个
回复 支持 反对

使用道具 举报

2

主题

948

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2016-6-14 16:32:16 | 显示全部楼层
不错,学习了
回复 支持 反对

使用道具 举报

4

主题

1005

帖子

195

积分

注册会员

Rank: 2

积分
195
发表于 2018-10-21 20:07:16 | 显示全部楼层
能再解释的细节一些吗,具体的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



陕ICP备15003731号  

贠老师培训 GMT+8, 2018-11-21 02:07 , Processed in 0.218030 second(s), 33 queries .

快速回复 返回顶部 返回列表