extern如何用?如何統一管理全域性變數。
本文首發於公眾號:大魚機器人,公眾號上有我的私人聯絡微信。
閱讀文字大概需要 2 分鐘。
0 前言
在交流群中有位哥們問了這個問題,我覺得很有意思。

1 一般如何處理全域性變數
眾所周知,我們一般對於全域性變數,都是在一個.C或者.H檔案中定義。
如果在其他檔案中需要使用的時候,只需要extern即可。
例如:
在A檔案中定義的全域性變數: int test ;
如果在B檔案中需要使用的時候: externint test ;
...這樣下來,需要使用該資料時,每個檔案中都需要再次宣告。
十分不爽!!!
2 我們可以換一種方式
第一步: 在main.c中進行所有變數的初次定義
第二步: 在一個.h檔案中對全域性變數進行extern
第三步: 程式中的每個檔案都去包含此.h檔案
這樣我們就能一次性管理所有的全域性變數~
3 以STM32為例
第一步:在main.c中進行初次變數的定義

(圖一)
第二步:在sys.h檔案中對全域性變數進行extern

(圖二)
第三步:程式中的每個檔案都去包含此.h檔案

(圖三)

(圖四)
同理,在包含一些標頭檔案的時候也可以這樣處理。
我們可以看圖二,基本上把所有的全域性變數和需要包含的標頭檔案都放在sys.h中。
最後,在程式中,每個檔案都包含sys.h,想要刪減和修改變數以及標頭檔案,都可以在此資料夾中修改。
個人覺得,這樣管理起來特別方便且美觀。
注:上述示例程式碼是我自己寫的一款平衡小車的程式碼,公眾號後臺回覆[大車]即可獲取
3 最後
若覺得文章對你有幫助, 隨手點“ 贊 ”、 轉發分享 ,也是我繼續更新的動力。
推薦閱讀:
//end
這麼“好”的文章, 轉發+收藏~
本文首發於公眾號:大魚機器人,公眾號上有我的私人聯絡微信。