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