在项目中基本都会遇到全局变量,随便放很容易忘记变量的使用,也不方便后续的阅读,就需要对全局变量进行统一管理,下面就用个简单demo,实现对全局变量的管理:
#include "stdio.h" // 定义枚举 typedef enum { data1, data2, }typeDataName_t; // 定义结构体 typedef struct { void (*setState)(typeDataName_t, unsigned char); unsigned char (*getState)(typeDataName_t); unsigned char state[2]; }typeCharData_t; void setState(typeDataName_t name, unsigned char param ); unsigned char getState(typeDataName_t name); // 初始化结构体 typeCharData_t charData = { setState, getState, {0, 0}, }; // 设置 void setState(typeDataName_t name, unsigned char param ){ charData.state[name] = param; } // 获取 unsigned char getState(typeDataName_t name){ return charData.state[name]; } int main() { printf("%d ",charData.state[0]); printf("%d ",charData.state[1]); charData.setState(data1, 10); charData.setState(data2, 20); printf("%d ",charData.getState(data1)); printf("%d ",charData.getState(data2)); }
合理在项目中使用,可以提高代码的可读性,就算那天真的忘记了,也可以根据代码逻辑,回想业务逻辑的实现;
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
代码
+关注
关注
30文章
4555浏览量
66772 -
全局变量
+关注
关注
1文章
26浏览量
8914
原文标题:框架|集中数据管理
文章出处:【微信号:玩转单片机,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
关于全局变量和功能全局变量的创建和使用
关于LabVIEW中的全局变量,很多教程和网上的资料都讲的很简单,功能全局变量讲得更少,对于新手来说,理解和使用还是比较困难的。因此今天来详细说一说他们的使用。这里就不说全局变量和功
发表于 01-25 20:58
从汇编代码访问C全局变量
12.2 从汇编代码访问 C target=_blank style=cursor:pointer;color:#D05C38;text-decoration:underline;》C 全局变量
发表于 10-19 09:25
•0次下载
教大家一个如何在头文件中定义全局变量的方法
通常情况下,都是在C文件中定义全局变量,在头文件中声明,但是,如果我们定义的全局变量需要被很多的C文件使用的话,那么将全局变量定义在头文件里面会方便很多,那到底是如何实现的? os_v
发表于 12-04 14:55
•19次下载
C51单片机中定义一个全局变量会有怎样的影响
全局变量被定义在内存中的专门地址上,存储位置固定。对于频繁存取的重要变量但可以采用全局变量以减少代码的长度;由于全局变量总是占用内存,如果过多,或者把程序处理和计算中的一些中间
发表于 11-02 16:38
•7716次阅读
C语言中局部变量和全局变量
全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局
全局变量与全局访问之间的差异
简单说,全局变量、局部变量是变量自身的身份。身份的不同是靠出生地决定的。而能否被全能局访问,能被多大范围空间访问,即首篇文章中讲到的作用域,是完全不同的概念。不能混而等同之。
评论