javer學c 全域性函式, 全域性變數

2021-06-19 04:28:15 字數 985 閱讀 5191

extern

全域性c++

c++中函式預設就是全域性的, 變數寫在函式外的話預設也是全域性的. 

global.cpp, 定義乙個全域性變數和乙個全域性函式

c++**  

#include 

using

namespace std;  

int g_int = 10;  

void globalmethod()    

全域性函式的宣告需要使用extern關鍵字, 以告訴編譯器, 這是在其它地方定義了的變數或函式.

main.cpp

c++**  

#include 

using

namespace std;  

extern

int g_int; // 全域性變數的宣告, 一定要加上extern才行

extern

void globalmethod(); // 全域性函式的宣告, extern可加可不加, 但最好加上以表名是全域性函式

int main(void)    

對於庫的話, 全域性函式一般會以.h標頭檔案的形式開放出來, 不然誰知道庫中有哪些函式呢! 

上面的就會提取出乙個global.h: 

global.h 

c++**  

#ifndef global_h_

#define global_h_

extern

int g_int;  

extern

void globalmehtod();  

#endif

然後在main.cpp中:

main.cpp 

c++**  

#include 

#include "global.h"

using

namespace std;  

int main(void)    

c 全域性變數 靜態全域性變數

全域性變數是靜態儲存方式,靜態全域性變數也是靜態儲存方式,這兩者在儲存方式上並無不同。區別 雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,靜態全域性變數在各個原始檔中都是有效的。靜態區域性變數則限制了其作用域,只在定義該變數的原始檔內有效,在同一源程式的其它原始檔中不能...

static全域性變數 全域性變數

1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...

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...