在項(xiàng)目中基本都會(huì)遇到全局變量,隨便放很容易忘記變量的使用,也不方便后續(xù)的閱讀,就需要對(duì)全局變量進(jìn)行統(tǒng)一管理,下面就用個(gè)簡(jiǎn)單demo,實(shí)現(xiàn)對(duì)全局變量的管理:
#include "stdio.h" // 定義枚舉 typedef enum { data1, data2, }typeDataName_t; // 定義結(jié)構(gòu)體 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); // 初始化結(jié)構(gòu)體 typeCharData_t charData = { setState, getState, {0, 0}, }; // 設(shè)置 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)); }
合理在項(xiàng)目中使用,可以提高代碼的可讀性,就算那天真的忘記了,也可以根據(jù)代碼邏輯,回想業(yè)務(wù)邏輯的實(shí)現(xiàn);
審核編輯:湯梓紅
-
代碼
+關(guān)注
關(guān)注
30文章
4900瀏覽量
70749 -
全局變量
+關(guān)注
關(guān)注
1文章
28瀏覽量
9143
原文標(biāo)題:框架|集中數(shù)據(jù)管理
文章出處:【微信號(hào):玩轉(zhuǎn)單片機(jī),微信公眾號(hào):玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
關(guān)于全局變量和功能全局變量的創(chuàng)建和使用
功能全局變量的理解與使用
從匯編代碼訪問(wèn)C全局變量
教大家一個(gè)如何在頭文件中定義全局變量的方法
全局變量和局部變量有什么區(qū)別

在C語(yǔ)言中,全局變量濫用的后果是什么
分析如何遠(yuǎn)離漫天飛舞的全局變量
C語(yǔ)言中局部變量和全局變量
詳解LABVIEW中的局部變量和全局變量
全局變量被未知原因改變的解決方法

評(píng)論