C语言如何规避全局变量?

今天我们要谈论的话题是C语言中为何没法规避全局变量?

之所以谈论这个话题,主要是最近有几个粉丝朋友问到了类似的问题:“我代码中全局变量太多了,有没有一种方法不使用全局变量来编写C语言程序?”

当时并没有感觉特别惊讶,因为曾经的我也是在这条道路上探索着,只是在C语言编程这条路上走得多一点,相对想得更加明白一点罢了。

对此,我的回答是:“没有办法规避全局变量的~”

1

耦合

其实自认为没有办法规避全局变量的”,这个答案相对而言并不是特别专业,却能够让更多的人听懂。

在最开始使用C语言进行项目开发的过程中,都会提示要你用模块化思想来编程,怀着低耦合,高内聚的编程理念。

但是你应该没有听说过模块之间无耦合吧,所以耦合和内聚都是相对而言,当采用了一种不是最优的设计思想和方法,便编写出了一套耦合度较高的代码罢了。

而所谓的耦合便是你所划分的各功能模块代码之间的数据共享了。

我一直相信代码中的所有设计都可以在这世间找到类比原型,同样这世间规律也完全可以用程序来进行表达,只是目前的科技水平还并没有达到那么水平,或许人工智能就是一个萌芽吧。

而在C语言中全局变量的使用,便是一种数据共享的方式,同样也是模块化沟通的桥梁。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

点击这里找小助理0元领取:嵌入式物联网学习资料(头条)






有朋友该说了,我不进行数据共享便不会使用全局变量了。

比如点了个灯,同时又写了串口通信程序,两者并没有什么联系,各自安好,那确实没有数据共享,也可以不使用全局变量,最多认为你在静态存储区定义了几个变量吧。

但这样的程序又能复杂到什么程度,或实现什么功能呢?基本没有特别大的意义。

2

联系

这世间原本就是千丝万缕羁绊着而存在,或许从蝴蝶效应看来就会颇有感触,那么编程中也是一样的,相互之间的存在着某种联系才愈发精彩,而这种联系的表达则少不了数据的共享。

程序员们要用C语言来描述这世间种种规律,使用全局变量还逃得掉吗?

即便有一种语言可以达到不使用类似于全局变量的语法形式,但数据的共享终究逃不了。

虽话说回来,无法规避,但并非没有章法;不加约束,必将带来不少麻烦。

3

面向对象

面向对象的程序设计思想就是目前约束全局变量使用的一味良药,面向对象与面向过程都是一种思维方式的存在,并非孰优孰劣。

但就目前软件设计的发展来看,面向对象的程序设计思想在大型程序的设计和把控上有更多的优势。

它能够把各个抽象的个体描绘得更加的直观,这样个体之间的相互联系也就顺理成章的表达和约束。


原文链接:https://mp.weixin.qq.com/s/6SWBY2BALJzzRphF0aGcdA

转载自:嵌入式微处理器

原文链接:C语言如何规避全局变量?

本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章