C語言裡全域性變數管理
C語言裡資訊封裝比較弱,只有靜態變數的檔案作用域。
如果不加約束,很容易造成全域性變數滿天飛。
如果定義一個全域性結構體,把全域性變數都放到這個GlobleVariate裡,應該好管一些,至少比裸奔文雅一點。
更進一步,每個模組定義自己的結構體,把模組公共變數放到結構體裡。這樣把GlobleVariate拆成多個小結構體,會更文雅一些。
大概的虛擬碼是下面這個樣子。
struct GlobleVariate
{
struct ModuleVariate1;
struct ModuleVariate2;
...
如果不加約束,很容易造成全域性變數滿天飛。
如果定義一個全域性結構體,把全域性變數都放到這個GlobleVariate裡,應該好管一些,至少比裸奔文雅一點。
更進一步,每個模組定義自己的結構體,把模組公共變數放到結構體裡。這樣把GlobleVariate拆成多個小結構體,會更文雅一些。
大概的虛擬碼是下面這個樣子。
struct GlobleVariate
{
struct ModuleVariate1;
struct ModuleVariate2;
...
}
同時禁止在函式外定義變數,這樣可以改善全域性變數管理問題。
相關文章
- C語言:如何給全域性變數起一個別名?C語言變數
- 【c】全域性變數與區域性變數變數
- Solidity語言學習筆記————5、全域性變數Solid筆記變數
- C語言--靜態區域性變數C語言變數
- 全域性變數變數
- Solidity語言學習筆記————7、單位和全域性變數Solid筆記變數
- Solidity語言學習筆記————6、全域性變數風格指南Solid筆記變數
- 全域性變數與區域性變數變數
- 區域性變數和全域性變數變數
- 全域性 DOM 變數變數
- c 語言中巨集定義和定義全域性變數的區別變數
- Java區域性變數與全域性變數Java變數
- java 全域性變數和區域性變數Java變數
- jmeter全域性變數和區域性變數JMeter變數
- C語言sizeof()變數、字元、字串C語言變數字元字串
- vue定義全域性變數和全域性方法Vue變數
- flutter 裡面的全域性變數(給web開發者)Flutter變數Web
- js宣告全域性變數JS變數
- C語言可變引數詳解C語言
- Python中的全域性變數和區域性變數Python變數
- JavaScript五:全域性變數&區域性變數;運算子JavaScript變數
- 全域性DOM變數的坑變數
- PHP 超級全域性變數PHP變數
- less 全域性變數使用 引用變數
- 【SQL Server】常用全域性變數SQLServer變數
- js-js的全域性變數和區域性變數JS變數
- 十二、變數作用域:區域性變數、全域性變數,函式版名片管理系統—新增函式文件變數函式
- C語言-變數常量資料型別C語言變數資料型別
- C語言學習筆記之變數C語言筆記變數
- mac配置全域性環境變數Mac變數
- process node.js全域性變數Node.js變數
- QT 全域性變數使用方法QT變數
- PHP超全域性變數$_SERVER分析PHP變數Server
- javascript全域性變數的使用注意JavaScript變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- C語言怎麼實現可變引數C語言
- C語言指標(二) 指標變數 ----by xhxhC語言指標變數
- go語言變數Go變數
- golang變數作用域問題-避免使用全域性變數Golang變數