C語言裡全域性變數管理
C語言裡資訊封裝比較弱,只有靜態變數的檔案作用域。
如果不加約束,很容易造成全域性變數滿天飛。
如果定義一個全域性結構體,把全域性變數都放到這個GlobleVariate裡,應該好管一些,至少比裸奔文雅一點。
更進一步,每個模組定義自己的結構體,把模組公共變數放到結構體裡。這樣把GlobleVariate拆成多個小結構體,會更文雅一些。
大概的虛擬碼是下面這個樣子。
struct GlobleVariate
{
struct ModuleVariate1;
struct ModuleVariate2;
...
如果不加約束,很容易造成全域性變數滿天飛。
如果定義一個全域性結構體,把全域性變數都放到這個GlobleVariate裡,應該好管一些,至少比裸奔文雅一點。
更進一步,每個模組定義自己的結構體,把模組公共變數放到結構體裡。這樣把GlobleVariate拆成多個小結構體,會更文雅一些。
大概的虛擬碼是下面這個樣子。
struct GlobleVariate
{
struct ModuleVariate1;
struct ModuleVariate2;
...
}
同時禁止在函式外定義變數,這樣可以改善全域性變數管理問題。
相關文章
- C語言區域性變數、全域性變數、靜態區域性變數、靜態全域性變數C語言變數
- C語言:如何給全域性變數起一個別名?C語言變數
- 【c】全域性變數與區域性變數變數
- Solidity語言學習筆記————5、全域性變數Solid筆記變數
- 靜態全域性變數和全域性變數變數
- C語言--靜態區域性變數C語言變數
- flutter 裡面的全域性變數(給web開發者)Flutter變數Web
- 全域性變數變數
- C# WebForm定義全域性變數C#WebORM變數
- node 全域性物件和全域性變數物件變數
- 全域性變數與區域性變數變數
- 區域性變數和全域性變數變數
- 全域性 DOM 變數變數
- lua全域性變數變數
- Solidity語言學習筆記————7、單位和全域性變數Solid筆記變數
- Solidity語言學習筆記————6、全域性變數風格指南Solid筆記變數
- angular中定義全域性變數及全域性變數的使用Angular變數
- Java區域性變數與全域性變數Java變數
- java 全域性變數和區域性變數Java變數
- JavaScript —— 區域性變數和全域性變數JavaScript變數
- jmeter全域性變數和區域性變數JMeter變數
- [ASM C/C++] C語言函式的可選性自變數ASMC++C語言函式變數
- c 語言中巨集定義和定義全域性變數的區別變數
- iOS全域性變數與屬性的記憶體管理iOS變數記憶體
- vue定義全域性變數和全域性方法Vue變數
- js宣告全域性變數JS變數
- python全域性變數Python變數
- SQL Server 全域性變數SQLServer變數
- python全域性變數與區域性變數Python變數
- C語言sizeof()變數、字元、字串C語言變數字元字串
- JavaScript五:全域性變數&區域性變數;運算子JavaScript變數
- python全域性變數和區域性變數, globalPython變數
- PHP 超級全域性變數PHP變數
- 全域性DOM變數的坑變數
- 少用全域性變數的原因變數
- DB2_全域性變數DB2變數
- SQLServer全域性變數詳介SQLServer變數
- android使用全域性變數Android變數