c語言外部變量調用問題請教
在一個文件中定義一個全局變量,在另一個文件中想要調用這個變量,在其前面加extern就可以了。可是今天看到這樣的代碼,一直弄不明白,希望大家幫忙解答:在GlobalVariables.h文件中定義如下:#ifndef GlobalVariables__H__#define GlobalVariables__H__typedef unsigned short INT16U; typedef struct MusicSettingStruct;extern MusicSettingStruct *Music;#endif然後在另一個文件funvtion.c中加入頭文件#include "GlobalVariables.h",就這樣Music竟然可以直接使用了。GlobalVariables.h中是告訴編譯器說它是外部已經定義的變量,使用了外部調用,可是Music根本就沒有定義啊。我編譯後發現居然可以編譯通過。後來我自己重新建了一個工程,發現不可以,可是它的卻可以通過,有人知道原因嗎??
最佳回答:
只要變量能用那肯定是定義了,extern只是聲明,聲明並不分配內存
查看更多答案>>