在同一個專案裡,如果 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;

創作者介紹
創作者 箱子裡的貓 的頭像
Bill Suen

箱子裡的貓

Bill Suen 發表在 痞客邦 留言(0) 人氣( 1793 )