在项目中基本都会遇到全局变量,随便放很容易忘记变量的使用,也不方便后续的阅读,就需要对全局变量进行统一管理,下面就用个简单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)); }
合理在项目中使用,可以提高代码的可读性,就算那天真的忘记了,也可以根据代码逻辑,回想业务逻辑的实现;
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !