全局变量
全局变量的作用是增加函数间数据联系的通道。由于在同一文件中所有的函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,就能影响到其他函数,使其他函数中引用的同名变量的值也同时改变,这相当于各个函数间有直接的传递通道。由于函数的调用只能带回一个返回值,因此有时可以利用全局变量增加函数间数据传递通道。
建议在不必要的时候不要使用全局变量。
1)全局变量在程序的全部执行过程中都占用存储单元。
2)它使函数的通用性降低了,因为在执行函数时要受到外部变量的影响。如果将函数移到另一个文件中,还要将有关的外部变量一起移过去。但若该外部变量与其他文件的变量同名,就会出现问题,降低了程序的可靠性和通用性。在程序设计中,在划分模块时要求模块的内聚性强,与其他模块的耦合性弱。即模块的功能要单一,不要把互不相干的功能放到一个模块中,而全局变量是不符合这个原则的。
3)使用全局变量过多,降低程序的清晰性,人们往往难以清楚地判断出每个瞬间各个全局变量的值。在各个函数执行时都可能改变全局变量的值,程序容易出错。如果在同一个源文件中,全局变量与局部变量同名,则在局部变量的作用范围内,全局变量被屏蔽,即它不起作用。