理论教育 局部变量和全局变量-C语言程序设计

局部变量和全局变量-C语言程序设计

时间:2023-10-20 理论教育 版权反馈
【摘要】:③C语言规定形参的存储类别是自动型,属于局部变量。⑥若外部变量与局部变量同名,则外部变量被屏蔽。⑦应尽量少使用全局变量,因为:全局变量在程序全部执行过程中占用存储单元;降低了函数的通用性、可靠性、可移植性;降低程序清晰性,容易出错。

局部变量和全局变量-C语言程序设计

1.局部变量——内部变量

定义:在函数内定义,在本函数内出现有效(图5-4)。

图5-4 变量生命期

局部变量可用存储类型:auto  register  static(默认为auto)。

提示:

①所有函数都是平行关系,main函数也不例外。main函数中定义的变量只在main函数中有效,不能使用其他函数中定义的内部变量。

②不同函数中同名变量,占不同内存单元

③C语言规定形参的存储类别是自动型,属于局部变量。

④可定义在复合语句中出现有效的变量。

【例5.8】不同函数中同名变量。

程序运行结果:

【静态局部变量说明】

· 初始化语句只在第一次调用该函数时才执行。(www.daowen.com)

· 变量值具有可继承性。

2.全局变量——外部变量

定义:在函数外面定义的变量,可被作用域内的所有函数直接引用。外部变量可用存储类型:缺省或static。

提示:

①不带存储类别的外部变量说明是变量的定义性说明。

②作用域:从变量出现的位置直至本文件结束。

③生命期:整个程序执行期。

④在函数外面定义的static变量——静态外部变量限定该外部变量只在本文件使用。

⑤用extern说明可扩充外部变量的作用域。

⑥若外部变量与局部变量同名,则外部变量被屏蔽。

⑦应尽量少使用全局变量,因为:全局变量在程序全部执行过程中占用存储单元;降低了函数的通用性、可靠性、可移植性;降低程序清晰性,容易出错。

【extern说明】

· 带extern的外部变量说明是变量的引用性说明。

· 引用性说明格式: extern 数据类型 变量表;

· 扩充外部变量的作用域。

· 外部变量的定义性说明与引用性说明不同。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈