定義和宣告判斷: a)int i;//定義; b)extern int i; //宣告;
定義:定義就是(編譯器)建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名或物件名。乙個變數或物件在一定的區
域內(比如函式內,全域性等)只能被定義一次,如果定義多次,編譯器會提示你重複定義同乙個變數或物件。
宣告:有兩重含義,如下:
第一重含義:告訴編譯器,這個名字已經匹配到一塊記憶體上了,下面的**用到變數或物件是在別的地方定義的。宣告可以出現多次。
第二重含義:告訴編譯器,我這個名字我先預定了,別的地方再也不能用它來作為變數名或物件名。這種宣告最典型的例子就是函式引數的宣告,例如:void fun(int i, char c);
我們可以很清楚的判斷:a)是定義;b)是宣告。
記住,定義宣告最重要的區別:定義宣告最重要的區別:定義建立了物件並為這個物件分配了記憶體,宣告沒有分配記憶體。
C語言中的定義與宣告
什麼是定義?什麼是宣告?它們有何區別?舉個例子 12 a inti b externinti 關於extern,後面解釋 哪個是定義?哪個是宣告?或者都是定義或者都是宣告?什麼是定義 所謂的定義就是 編譯器 建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名或...
C語言中宣告和定義的區別
宣告指定了乙個變數的識別符號,用來描述變數的型別,用於編譯器識別變數名所引用的實體。定義是對宣告的實現或者是例項化,為變數分配儲存空間,還可以給變數賦初始值。變數的宣告和定義 int a 需要建立儲存空間 既是定義,也是宣告 extern int a 不需要建立儲存空間 只是宣告,不是定義 如果宣告...
C語言中,宣告和定義的區別
二 針對變數時 三 針對函式時 四 參考 定義就是建立乙個物件,給它分配記憶體並取名字 變數名或物件名 還可以指定初值。另外,乙個變數或物件只能被定義一次,否則編譯器會提示重複定義。用於向程式表明變數的型別和名字。告訴編譯器這個名字已使用,別的地方不能再用它作為變數名或物件名。另外,宣告可以出現多次...