如何有效减少全局变量的使用

全局变量有些时候是无法避免的,只能尽量减少全局变量。我能想到的主要有三个方面:

1、通过函数参数传递数据或指针。对于回调函数,通常有一个参数是自定义的数据指针,可以利用这个参数传递类指针或者自定义一个结构的指针。

2、只在某一个函数中使用的变量可以定义为局部静态变量(在函数内部定义,前面加static修饰)。

3、把全局变量定义成一个结构,定义一个全局的结构体变量。

要定义一个变量为,应()关键字.

应尽量使用全局变量

A. 错误

B. 正确

A

全局变量为什么建议少用

觉得有时候定义一个全局的量挺方便的我刚学完c++,比如我要录入n个数字到一个数组里那么但是要先确定数量n,这样到各个函数里。
可是我们老师建议说尽量不要设置全局变量,我也刚接触编程语言没多久求大大们解释,只传递个数组的地址就好了,也不知道为什么,那我就把n设置成全局的  1.由于全局变量,程序运行期间,始终占有那块存储区,所以空间利用率比较低,大量的全局变量,很快就会把内存用光,所以要少用全局变量;
  2.全局变量由于每个函数都可以使用,所以任何一个函数的修改,如果修改了全局变量,都有可能影响到其他函数,所以不利于调试。

如何尽量地避免使用全局变量?

性能上没什么影响。但是对程序可维护性有点伤害吧。全局空间因为处于最顶层也是最大的命名空间里,所以变量名要保持独立,不冲突,就需要更完整的表达它的含义,所以名字就会更倾向于写的很长。全局变量数量越多,取名的难度就会更大。你说的“由于很多函数都使用这些变量,而函数之间又不存在互相调用的关系,所以不能以参数形式传递,只想到用全局。” 这句话我认为不成立!是你理解上有局限性导致你有这样的认识。而且显示出,你对保持程序可维护性方面的认知和理解比较欠缺。当程序规模很大时,这样的做法可不是什么好主意。到时候你会发现,你很难修改这种代码,因为你的大脑根本无法追踪某个变量,在什么时候,被什么人改变,这简

Python问题在函数内使用全局变量的时什么时候需要加global,什么时候不用?

global是用于声明全局变量。 当你的函数中变量有赋值语句,而这个变量名又刚好同全局变量一样,这时候,如果你希望用的是全局变量就要加global,反之函数就会创建自己的局部变量。 简单说: 函数内使用全局变量,只要函数内没有使用这个变量名来做赋值语句,就不需要加global。