可以在函数里再次定义全局变量吗?

[复制链接]
查看11 | 回复4 | 2016-7-19 01:51:46 | 显示全部楼层 |阅读模式
可以第一次定义的是全局变量,第二次定义的是局部变量,局部变量只在定义的当前作用域(可以为一个循环语句或一个局部函数)有效,在该有效区域内,局部变量会覆盖掉前面定义的全局变量。是不会受影响的,同时,外部的全局变量也是有效的。全局变量只有在整个函数关闭时才失效,而局部变量在该作用域完成后就失效并释放出缓存。...
回复

使用道具 举报

千问 | 2016-7-19 01:51:46 | 显示全部楼层
再定义一次,这个就变成了函数内的局部变量,而且会在该函数内覆盖对应的全局函数。...
回复

使用道具 举报

千问 | 2016-7-19 01:51:46 | 显示全部楼层
这个问题问的好,其实你要分清楚变量的存放的位置(也就是作用域的问题)。全局变量是在程序一开始就定义的变量,可以再整个程序运行过程中任意的使用(非错误使用)。全局变量一般放在程序区域。局部变量则放在栈中,也就是只适合{}(大括号)封装的函数使用。所以程序在运行时先检测栈的变量,而后检测程序变量。由此变量定义可以重复定义。但是不能定义相同的局部变量或者是相同的全...
回复

使用道具 举报

千问 | 2016-7-19 01:51:46 | 显示全部楼层
当然可以,对于主函数中的b与f1()函数中的b是不一样的,意义也不一样,代表的也不一样。你可在二个函数中都定义成b,也可以不一样,结果是一样的。但是不要在同一个函数中定义二个一样的变量就可以了,b只是一个名称而已,就像我们的名字都有重名一样,但是重名的人却是不一样的。所以你不要太纠结着这个,以后记住可以这样用就好了。不是任何事情都可以找到理由的。至于下面...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行