在同一個專案裡,如果 B.c 想要存取一個在 A.c 定義的變數,在 B.c 使用這個變數之前,就必須用 extern 宣告這個變數 :
A.c
int i =1; //初始化 i 並且須為 global 型別;
-------------------------------------------
B.c
extern int i; //告訴 compiler,i 這個變數已經定義過了!!
**********************************
struct 也是一樣的用法.....
A.c
struct C
{
unsigned aaa:1;
unsigned bbb:1;
};
struct C D; //使用 C 型別建立一個 D 結構變數,一樣得在 global 型別.
==============================
B.c
extern struct C D; //使用其它檔案建立的結構 !!
D.aaa = 1; D.bbb = 0;
請先 登入 以發表留言。