C 全域性變數

2021-10-04 03:47:15 字數 547 閱讀 2860

當乙個工程下有兩個不同模組之間存在引數交換是,可以通過使用全域性變數實現,比如:模組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 ...