请教:全局变量的用法

[复制链接]
3357|15
 楼主| qjf13 发表于 2010-2-3 10:37 | 显示全部楼层 |阅读模式
程序中定义了一个全局变量 a, 在其中一个子函数里给他赋值 a=2;而在另一个子函数里的全局变量a=? 2还是默认值?谢谢了
SULJE 发表于 2010-2-3 10:41 | 显示全部楼层
应该是吧
lileibmw 发表于 2010-2-3 11:19 | 显示全部楼层
那得看你用第二个子函数的时候第一个子函数调用了没有了?
 楼主| qjf13 发表于 2010-2-3 11:41 | 显示全部楼层
如果先调用第一个赋值a=2
所以第二个a=2?
lileibmw 发表于 2010-2-3 11:43 | 显示全部楼层
那当然了,要不全局变量还又意义吗
lileibmw 发表于 2010-2-3 11:43 | 显示全部楼层
楼主大可以弄个程序试一下吗
 楼主| qjf13 发表于 2010-2-3 11:50 | 显示全部楼层
谢谢啦!!
反质子 发表于 2010-2-3 13:51 | 显示全部楼层
从内存分配的角度去看全局变量
chunyang 发表于 2010-2-3 13:54 | 显示全部楼层
这要看两个子函数的运行顺序,一旦a=2被运行,默认值就不存在了。全局变量是保留型变量,一旦赋值后,只要没有新的赋值出现,该变量的值就不会发生改变。
雨下枫 发表于 2010-2-3 23:27 | 显示全部楼层
我记得全局变量在申请时没有对其赋值的话,默认是=0。一个全局变量在新的赋值语句前,保持之前的数值!
tigedtp 发表于 2010-2-4 07:25 | 显示全部楼层
在此要注意volatile的用途。可能需要加这个关键字才能达到你想要的效果。
my8804 发表于 2010-2-4 08:47 | 显示全部楼层
就近原则.....
电子三极管 发表于 2010-2-4 09:14 | 显示全部楼层
M.gtd 发表于 2010-2-4 09:42 | 显示全部楼层
dongtx 发表于 2010-2-4 09:49 | 显示全部楼层
在此要注意volatile的用途。可能需要加这个关键字才能达到你想要的效果。
tigedtp 发表于 2010-2-4 07:25



说得好。
如果一个变量已在一个过程中使用,且将其改变,有的系统可能“暂存”其值,而另外一个过程用它时就有可能不是新值,使用volatile就可以解决此问题
zteclx 发表于 2010-2-4 20:53 | 显示全部楼层
全局变量,随时可以修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

231

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部