當乙個工程下有兩個不同模組之間存在引數交換是,可以通過使用全域性變數實現,比如:模組1:h1.h、c1.cpp,模組2:h2.h、c2.cpp。當模組2中的引數資料 a2,b2,c2,需要傳遞至模組1的a1,b1,c1中時,可使用如下定義。
1、操作
的標頭檔案
#include
void fun1()
的標頭檔案
#includeextern int a2,b2,c2;
int a2=0,b2=0,c2=0; //一定要在函式之外定義
void fun2()
2、總結
全域性變數在所需使用的標頭檔案(h2.h)下宣告,
extern int a2,b2,c2;
在與之對應的原始檔(c2.cpp)函式之外中定義,
int a2=0,b2=0,c2=0;
在其它包含該標頭檔案(h1.h包含h2.h)下的原始檔(c1.cpp)使用。
int a1=a2;
int b1=b2;
int c1=c2;
c 全域性變數 靜態全域性變數
全域性變數是靜態儲存方式,靜態全域性變數也是靜態儲存方式,這兩者在儲存方式上並無不同。區別 雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,靜態全域性變數在各個原始檔中都是有效的。靜態區域性變數則限制了其作用域,只在定義該變數的原始檔內有效,在同一源程式的其它原始檔中不能...
C 全域性變數
c 工程有以下幾個檔案 標頭檔案 a.h,b.h 相應的cpp檔案 a.cpp 包含a.h b.cpp 包含b.h 以及其他一些相關的.h,cpp檔案。a中有類a,b中有類b。現在需要在b.cpp中使用a.cpp 類a中的乙個變數,且希望其是隨著a.cpp 類a的呼叫更新的值。可按如下操作 在a.h...
c全域性變數
c語言中全域性變數可以重複定義 include int g val int g val 1 int main void 執行結果 1 include int g val 2 int g val int main void 執行結果 2 include int g val 2 int g val 1 ...