【摘要】:③C语言规定形参的存储类别是自动型,属于局部变量。⑥若外部变量与局部变量同名,则外部变量被屏蔽。⑦应尽量少使用全局变量,因为:全局变量在程序全部执行过程中占用存储单元;降低了函数的通用性、可靠性、可移植性;降低程序清晰性,容易出错。
定义:在函数内定义,在本函数内出现有效(图5-4)。
图5-4 变量生命期
局部变量可用存储类型:auto register static(默认为auto)。
提示:
①所有函数都是平行关系,main函数也不例外。main函数中定义的变量只在main函数中有效,不能使用其他函数中定义的内部变量。
②不同函数中同名变量,占不同内存单元。
③C语言规定形参的存储类别是自动型,属于局部变量。
④可定义在复合语句中出现有效的变量。
【例5.8】不同函数中同名变量。
程序运行结果:
【静态局部变量说明】
· 初始化语句只在第一次调用该函数时才执行。(www.daowen.com)
· 变量值具有可继承性。
2.全局变量——外部变量
定义:在函数外面定义的变量,可被作用域内的所有函数直接引用。外部变量可用存储类型:缺省或static。
提示:
①不带存储类别的外部变量说明是变量的定义性说明。
②作用域:从变量出现的位置直至本文件结束。
③生命期:整个程序执行期。
④在函数外面定义的static变量——静态外部变量限定该外部变量只在本文件使用。
⑤用extern说明可扩充外部变量的作用域。
⑥若外部变量与局部变量同名,则外部变量被屏蔽。
⑦应尽量少使用全局变量,因为:全局变量在程序全部执行过程中占用存储单元;降低了函数的通用性、可靠性、可移植性;降低程序清晰性,容易出错。
【extern说明】
· 带extern的外部变量说明是变量的引用性说明。
· 引用性说明格式: extern 数据类型 变量表;
· 扩充外部变量的作用域。
· 外部变量的定义性说明与引用性说明不同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关C语言程序设计的文章