多個 h 檔案中宣告及定義 全域性變數和函式

2021-06-26 23:44:46 字數 1468 閱讀 6199

一、".h"檔案必須以如下格式書寫

例:檔案《cz_efg_hi.h"》

------------檔案內容-----------

#ifndef cz_efg_hi_h

#define cz_efg_hi_h

.....

所有檔案內容

.....

#endif

---------------------------------

二、全域性變數 在".h"檔案中宣告

,在".c"檔案中定義及初始化

例:某2個全域性變數

小型程式中 :

bit commandstackoverflow=0;

在大型程式中

".h"檔案 只宣告

extern bit commandstackoverflow;

".c"檔案 定義及初始化

bit commandstackoverflow=0;

三、特別要注意陣列型別的宣告及定義

裡空的表示「宣告」,裡定義了長度則表示「定義」

普通陣列

小型程式中

unsigned char serialrxdatabuffer[4]; 

大型程式中

".h"檔案 宣告(中空的)

extern unsigned char serialrxdatabuffer; 

".c"檔案 定義(中定義了長度)

unsigned char serialrxdatabuffer[4]=;

結構陣列

小型程式

extern struct command

commandstack[4]; 

大型程式

".h"檔案

extern struct command

; extern struct command commandstack; 

".c"檔案

struct command commandstack[4];

四、函式宣告

只要在".h"檔案內將所有生命的函式前加上extern即可

小型程式

void initcommandstack() ; //初始化命令堆疊 ,  將所有值置0 

大型程式

extern void initcommandstack() ; //初始化命令堆疊 ,  將所有值置0 

**:

全域性變數的定義宣告

c 中定義全域性變數要注意的地方 yandaren 1220 chinaunix部落格 c 中定義全域性變數要注意的地方 在c 中定義全域性變數是應該盡量在.cpp檔案中定義,而不要在.h 檔案中 定義,定義好了之後,可以在.件中利用 extern關鍵字進行 宣告.如果在.件中定義的話,多層包含可能...

C 中的全域性變數宣告和定義

1.全域性變數 全域性變數在整個原始檔的作用域都是有效的,只需要在乙個原始檔中定義全域性變數,在其他不包含全域性變數定義的原始檔中用extern關鍵字再次宣告這個全域性變數即可。也可以在乙個原始檔中定義這個全域性變數,在標頭檔案中用extern關鍵字再次宣告這個全域性變數,如果其它原始檔要用到這個全...

QT全域性變數宣告及使用

1.先在乙個.h檔案中宣告乙個類 ifndef data h define data h class data endif 2.在.cpp檔案裡類中的成員進行定義 include data.h int data flag 0 int data size 5 3.只要有了前面兩步,這些變數就可以在其他...