【摘要】:它不属于哪一个函数,它属于一个源程序文件,全局变量可以为本文件中其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。但应注意到x、y定义在函数f1的后面,f1函数内没有对x、y的声明语句,所以x、y在f1内是无法使用的。a、b定义在源程序首行,因此在f1、f2、main函数中无需加入声明语句。 外部变量与局部变量同名时的情况。
全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件,全局变量可以为本文件中其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。
例如:
可以从该例中看出a、b、x、y都是在函数外部定义的外部变量,所以是全局变量。但应注意到x、y定义在函数f1的后面,f1函数内没有对x、y的声明语句,所以x、y在f1内是无法使用的。a、b定义在源程序首行,因此在f1、f2、main函数中无需加入声明语句。
【例7.14】 外部变量与局部变量同名时的情况。
int a=5,b=7; /*a、b为外部变量*/
max(int a,int b) /*a、b为外部变量*/
{int c;
c=a>b?a∶b;
return(c);
}(www.xing528.com)
main()
运行结果:10
说明:
1)全局变量的作用是为了增加函数间数据联系的渠道;
2)建议不在必要时不要使用全局变量,因为:
①全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才开辟单元;
②它使函数的通用性降低了;
③使用全局变量过多,会降低程序的清晰性,人们往往难以清楚地判断出瞬时各个外部变量的值。
3)如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,它不起作用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。