首页 理论教育 AVR单片机全局变量使用及注意事项

AVR单片机全局变量使用及注意事项

时间:2023-11-20 理论教育 版权反馈
【摘要】:它不属于哪一个函数,它属于一个源程序文件,全局变量可以为本文件中其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。但应注意到x、y定义在函数f1的后面,f1函数内没有对x、y的声明语句,所以x、y在f1内是无法使用的。a、b定义在源程序首行,因此在f1、f2、main函数中无需加入声明语句。 外部变量与局部变量同名时的情况。

AVR单片机全局变量使用及注意事项

全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件,全局变量可以为本文件中其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。

例如:

可以从该例中看出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)如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,它不起作用。

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

我要反馈