单片机编程C程序中经常使用extern,感觉很麻烦,有什么方法可以避免使用extern,或者说如何减少使用全局变量,有什么技巧?

淹死的大白鲨 2019-03-07 03:35:59
单片机编程C程序中经常使用extern,感觉很麻烦,有什么方法可以避免使用extern,或者说如何减少使用全局变量,有什么技巧?
这是以前写的程序,每次用一个变量都需要外部引用,感觉不是很可靠,并且非常麻烦。
...全文
640 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
淹死的大白鲨 2019-03-08
  • 打赏
  • 举报
回复
多谢,您第二种的方法之前没有想到过,试了一下,非常实用。谢谢!!
lin5161678 2019-03-07
  • 打赏
  • 举报
回复
写在一个头文件里面 用到了就include
smwhotjay 2019-03-07
  • 打赏
  • 举报
回复
extern c语言 跨模块访问变量必须设置的。。。
  • 打赏
  • 举报
回复
单片机C语言中,两个函数共享数据的时候,为了方便编程,一般都要用到全局变量,如果你要减少全局变量的使用,就要用函数返回值或者指针的形式去共享数据,这样的编程会使得逻辑变得复杂,单片机而言,一般都使用全局变量,所以问题应该是怎样去管理这些全局变量。
①一楼提供了一个方法,所有的全局变量定义在一个结构体内,这个结构体专门存放在一个.c文件,以后使用全局变量只需要声明这个结构体即可,而添加全局变量也只需要在结构体内添加,删除的时候只需要在结构体内以及用过的代码上删除,其余地方保持不变
②另外一种方式是把声明都放在一个.h文件中,在用到全局变量的地方#include这个头文件进来,而新添加的时候在.h中声明,定义可以分开在某个.c中,删除这个全局变量的时候,需要把定义和.h中的声明同时删除,这样也是一个快捷的管理方法
sdghchj 2019-03-07
  • 打赏
  • 举报
回复
//把所有变量都放一个结构体中,然后所有过程函数都带这个结构体参数 struct Context { }

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧