P171:
(1)设全局变量的作用是增加了函数间数据联系的渠道。
由此看出,可以利用全局变量以减少函数实参与形参的个数,从而减少内存空间以及传递数据时的时间消耗,
(2)建议不在必要时,不要使用全局变量,因为:
1、全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才开辟单元。
2、它使函数的通用行降低了,因为函数在执行时要依赖于其所在的外部变量。如果将一个函数移到令一个文件中去,还要将有关的外部变量及其值一起移过去。但若该外部变量与其他文件的变量同名时,就会出现问题,降低了程序的可靠性和通用性。在程序设计中,在划分模块时,要求模块的“内聚性”强,与其他模块的“耦合性”弱。即模块的功能要单一(不要把许多互不相干的功能放在一个模块中),与其他模块的相互影响要尽量少,而用全局变量是不符合这个原则的。一般要求把C程序中的函数做成一个封闭体,除了可以通过“实参---形参”的渠道与外界发送联系外,没有其他渠道。这样的程序移植性好,可读性强。
(3)使用全局变量过多,会降低程序的清晰性,人们往往难以清楚地判断出每个瞬时各个外部变量的值。在各个函数执行时,都可能改变外部变量的值,程序容易出错,因此,要限制使用全局变量。
阅读(2673) | 评论(0) | 转发(0) |