7.3.1 在同一个源程序文件中使用外部变量
例7-2 外部变量作用域
说明:
1)由于外部变量可以被同一源程序文件中的其他函数使用,因此外部变量提供了另一种传送信息(数据)的方法。实际应用中,函数调用时通过return语句只能返回一个值,而通过外部变量可以返回多个值。
例7-3 计算10个数的和与平均值。
运行结果如图7.3.1所示。
图7.3.1 外部变量的使用
平均值在average函数中用return语句返回。
2)如外部变量在所有函数之前定义,则同文件的所有函数都可以直接引用,不需另外说明;如外部变量在程序中间定义,则定义之前的函数要引用,应使用关键字extern进行引用性声明,引用性声明不分配存储空间。声明格式为
extern 类型标识符 变量名表;
例7-4 外部变量作用域向上扩展。
运行结果如图7.3.2所示。
图7.3.2 外部变量作用域向上延伸
3)如果外部变量与函数中的内部变量同名,则在该内部变量的作用域内,外部变量不可见(被屏蔽)。
例7-5 外部变量与内部变量同名。
运行结果如图7.3.3所示。
图7.3.3 外部变量作用域
4)使用外部变量时,如在一个函数中改变了外部变量的值,将影响到同程序的其他函数。实际应用中,有时在一个函数中不经意地改变外部变量的值,将使整个程序的运行出现错误(错误传播)。
5)外部变量使用过多,将降低程序的可读性,不便于分析每个外部变量的(瞬时)变化情况。外部变量的使用增强了函数之间的数据联系,但同时又使得函数过分依赖这些外部变量,降低了函数的独立性,因此从结构化程序设计的角度来讲,要限制外部变量的使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。