1. 沒錯唷,方便將需要的功能打包,專案工程要用時候在include就好,也不會使得單一c檔或者h檔太長太大
2. 如果這個位址的int a只有該c檔要使用,則不需要在h檔加入extern int a,反之如果其他c檔案需要使用則加入,另外還有static的用法,差別在於
標頭檔h宣告成static-->各個引用的c檔都可直接使用這變數名稱,但有效範圍只有各個引用的c檔,彼此都是獨立的位址
標頭檔h宣告成extern-->其中引用的一個c檔案必須明確定義且為global,其他引用的c檔案使用這變數名稱時,都會指向同一個位址
標題檔h沒有修飾字static或者extern宣告-->全部變成global,發生Error,多重定義
static和extern是互斥的,看需求來使用3. 只要在標頭檔keyfunction.h宣告extern int b即可,如第2點的說明
4. 如同2點,宣告成extern,就共用同一個c變數,宣告成static,則各個c變數都是獨立的
以上要特別注意這些修飾字的使用