我們想定義乙個全域性變數,能夠在多個檔案中使用,舉例說明比如說三個檔案main.c hello.c hello.h
想在main.c和hello.c中使用乙個名字為a的變數,可能大家會簡單地想直接在hello.h裡面定義乙個變數unsigned int a;
然後在main.c和hello.c中引用"hello.h"就可以直接使用了,但這是編譯器會報重複定義變數的錯誤,我們可以怎麼做呢?
#ifndef hello_h_
#define hello_h_
extern
int a;
void fun ();
#endif
#include
#include
"hello.h"
int a =0;
void fun (
)
#include
#include
"hello.h"
int main (
)
輸出結果為1,10;
extern關鍵字來宣告變數為外部變數,而為什麼要在hello.h檔案中已經extern int a了還要再在hello.c檔案中定義int a呢?
那麼問題又來了,我們為什麼不寫成extern int a = 0;的形式不是更簡單嗎?
定義全域性變數
inte ce property strong,nonatomic uiwindow window propertyboolislogin end synthesize window window synthesizeislogin end 那麼在其他的class裡,則可以通過下列 呼叫全域性變數 ...
c c 中全域性變數
c c 中的變數分為全域性變數 靜態全域性變數 區域性變數和靜態區域性變數,在 c c 中靜態區域性變數的特點與應用 中我們介紹過靜態區域性變數,今天我們的目標是全域性變數。簡單一點說,全域性變數就是在函式外面定義的變數,下面是乙個最簡單的例項,一共定義了兩個int型的全域性變數a和b,這兩個全域性...
js中定義全域性變數的方法
1.在js的function外定義乙個變數 var name 測試 function xx 2.不使用var,直接給定義變數,隱式的宣告了全域性變數 name 測試 function xx 這種方法,即使該變數是在乙個function內,當該function被執行後它變成了全域性變數 但是funct...