關於C語言全域性變數的定義和用法

2021-09-01 11:37:06 字數 639 閱讀 7720

在微控制器程式設計中經常會用到全域性變數,假設要在a.c檔案中用到b.c檔案定義的變數,我們應該怎樣定義、怎樣引用才能讓程式看起來乾淨整潔呢?下面簡單記錄一下

假設現在有3個c檔案,a.c、b.c、main.c;2個頭檔案,a.h,b.h

要在main.c檔案中用到a.c和b.c檔案中的變數,

(1)可以在a.c檔案中【int global_a = 0;】,在a.h中申明【extern int global_a;】;

在b.c檔案中【int global_b = 0;】,在b.h中申明【extern int global_b;】

(2)在main.c中包含a.h與b.c標頭檔案,即可在main.c檔案中去改變global_a 和global_b變數的值了

下面貼出main.c檔案的**

#include #include #include "a.h"

#include "b.h"

int datapro(int x);

int main(void)

int datapro(int x)

執行結果如下:

C語言中定義全域性變數

1 在c語言的標頭檔案中定義變數出現的問題 最好不要傻嘻嘻的在標頭檔案裡定義什麼東西。比如全域性變數 xx標頭檔案 ifndef xx 標頭檔案.h define xx 標頭檔案.h int a endif 那麼,很糟糕的是,這裡的int a 是個全域性變數的定義,所以如果這個標頭檔案被多次引用的話...

C定義全域性變數

程式工程中往往遇到這樣的問題 某個變數是貫穿始終的,主函式以及不同的子函式都要用到這個變數,並且要呼叫子函式改變變數的值。這時候全域性變數就起到乙個橋梁作用,在函式外定義,在主函式中呼叫定義,在子函式a中呼叫並賦值,在子函式b中呼叫該變數,此時的值已經是改變之後的值。用法 在主函式之前定義全域性變數...

C定義全域性變數

參考 程式工程中往往遇到這樣的問題 某個變數是貫穿始終的,主函式以及不同的子函式都要用到這個變數,並且要呼叫子函式改變變數的值。這時候全域性變數就起到乙個橋梁作用,在函式外定義,在主函式中呼叫定義,在子函式a中呼叫並賦值,在子函式b中呼叫該變數,此時的值已經是改變之後的值。用法 在主函式之前定義全域...