用个简单demo实现对全局变量的管理

描述

在项目中基本都会遇到全局变量,随便放很容易忘记变量的使用,也不方便后续的阅读,就需要对全局变量进行统一管理,下面就用个简单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));
}

 

合理在项目中使用,可以提高代码的可读性,就算那天真的忘记了,也可以根据代码逻辑,回想业务逻辑的实现;

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分