该全局就全局,该局部就局部。
mcuisp 发表于 2010-5-10 20:53 
:victory:
全局变量,没有避免使用的情况,只有少用的情况。我认为,能用局部变量的尽量用,不能用的情况才用全局变量。
中断函数跟子函数一样的道理,一样都能用局部变量。区别只是,中断条件满足,程序会“智能”的跳到中断函数,子函数要你手动跳转罢了。
尽量少用全局变量,要看你的习惯了。
写子函数的时候,最好想一想,能不能把子函数规范化。就是说,一个子函数,要尽可能的被多次调用,同时也要想想,怎么让这个子函数的作用强大。如果常常这样想,你就会喜欢使用带参数函数,带返回值函数。这样,会常常使用局部变量,所以全局变量就少用了。
即使是使用了全局变量了,也要尽可能的发挥其优点。一个全局变量能有多个功能更好,没有多个功能,有2个也不错。就是说,有些函数的功能,可以用定义过的全局变量来实现的,就不要再重新定义一个新的全局变量了。我看有些高手更绝,一个功能,由定义过的2个全局变量配套来使用,打死也不多定义全局变量,嘿嘿-------
还有就是程序结构的问题了,我认为,可以分多个文件编译。比如
main.c 中,有main.c的局部变量和全局变量
同样的道理,Io.c中有Io.c的局部变量和全局变量----------
这样分开编译的.obj的目的就是尽量少用全局变量的情况,而且可以避免很多错误的情况,很多人都这样用吧。特别涉及到OS的,几乎都是这样的结构,51的应该很不多吧,不过也可以这样用。
|