C C 定義全域性變數的方法

2021-08-27 11:14:51 字數 701 閱讀 6272

我們想定義乙個全域性變數,能夠在多個檔案中使用,舉例說明比如說三個檔案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...