|
个人理解,从编码规范的角度来讲,过多的全局变量其实并不是好的习惯。但全局变量如果作为控制块,静态内存等场景使用,还是非常高效方便,避免了反复malloc,对控制碎片,提高运行效率都有帮助。
c语言应用几个阶段,最开始是全局变量,只还是处于人类吹毛饮血阶段,到后来发现全局变量不好管理,把全局变量放入结构体来使用,恭喜进入石器时代,后来发现结构体跟全局也差不多,然后把要使用结构体类型化,加入结构体指针,函数调用把参数用结构体指针传入,此时进入帝王时代,慢慢的发现程序大了后,这些结构体不好管理,发现很多时候很多函数或功能需要重入,此时慢慢发现,高级语言的面向对象可以借鉴一下,于是把要实现的功能模块化,此时在编写时,大部分程序是没有全局变量的,只是使用各种类型化的结构体指针,而使用这些模块的时候,根据情况临时实例化这些结构体指针,如果是动态申请内存,或临时实列结构体指针,此时程序没有所谓的全局变量,就好比Linux内核的风格。。这是才是c语言该有的写法,这才说你进入近代了,才可以说懂了c语言了,不是精通。。你给我说全局变量好。。
|
|