【C】全局变量

本文探讨了全局变量在软件开发中的角色与应用原则。通过分析全局变量的优点与潜在问题,提出了合理的使用场景,并讨论了其在分层设计、程序简化及维护方面的考量。

全局变量在整个源文件中,相当于一条直达快捷的车道。

一语点醒梦中人:在这里给全局变量赋值A,B,C,在那边分析A,B,C决定做什么?这有什么不对么?

设计代码时,分设备层、应用层。分层设计就是为了解耦,否则,修改一个功能,可能要掘地三尺的修改应用层和设备层。

全局变量在多处被修改,不容易阅读和理清楚其逻辑,维护起来比较麻烦。

存在的即是合理的,该用还要用,要知道哪些情况尽量避免使用,哪些情况可以使用?

单片机小程序,如果使用全局变量会比较简单明了,否则各种函数传递来替代全局变量的功能,反而不好。

没有局部变量入栈出栈的步骤,使程序速度快一些。

在阅读代码时,分析全局变量的生产者和消费者。

全局变量可以恰当的使用,使用原则:

1、可以使程序简单

2、可以使阅读明了

4、可以使方便维护

就放心大胆的使用吧。

附录:

全局变量的知识:

1、全局变量和局部变量同名

局部变量有效,不会使用全局变量。一个函数内可以在不同地方定义同名局部变量,只要规范好其作用域即可, 此时局部的局部变量会有效。遇到同名,作用域大的会失效。

2、头文件中定义全局变量

可以,但不推荐。定义变量最好在.c,在.h中进行声明。就像也可以在.h中定义函数,但不推荐。为什么要出现.c.h两种文件,就像男人和女人一样,发挥其特长才是正道。

3、static全局变量和全局变量

作用域不同。static修饰的,作用域限定在此.c中,没有被static修饰的,作用域为全project。函数也是。static知识点详细见另一篇博文。

4、静态存储变量和动态存储变量 

程序运行期间,根据需要,临时动态分配存储空间的变量,为动态存储变量。永久占用固定内存的变量,成为静态存储变量。学习一下DSP的cmd文件配置,代码、变量都存储在什么地方。

5、全局变量的改变

如果中断中有全局变量,则程序运行期间,此全局变量可能会被意外改变,需要完善考虑。

参考资料:http://blog.sina.com.cn/s/blog_438972de0101as5k.html

 

转载于:https://www.cnblogs.com/isha2088/p/6404438.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值