C語言中,宣告和定義的區別

2021-10-01 08:41:00 字數 530 閱讀 1486

二、針對變數時

三、針對函式時

四、參考

定義就是建立乙個物件,給它分配記憶體並取名字(變數名或物件名),還可以指定初值。另外,乙個變數或物件只能被定義一次,否則編譯器會提示重複定義。

用於向程式表明變數的型別和名字。告訴編譯器這個名字已使用,別的地方不能再用它作為變數名或物件名。另外,宣告可以出現多次。

物件分配了記憶體,宣告沒有分配記憶體。

定義也是宣告,extern宣告不是定義(通過使用extern關鍵字宣告而不定義)。

帶有初始化的宣告必定是定義。

除非有extern關鍵字,否則都是變數的定義。

extern

int i;

//宣告

int i;

//定義

帶有的就是定義,否則就是宣告

extern

intmax

(int a1,

int a2)

;//宣告

[1]

[2]

C語言中宣告和定義的區別

宣告指定了乙個變數的識別符號,用來描述變數的型別,用於編譯器識別變數名所引用的實體。定義是對宣告的實現或者是例項化,為變數分配儲存空間,還可以給變數賦初始值。變數的宣告和定義 int a 需要建立儲存空間 既是定義,也是宣告 extern int a 不需要建立儲存空間 只是宣告,不是定義 如果宣告...

C語言中宣告與定義的區別

定義和宣告判斷 a int i 定義 b extern int i 宣告 定義 定義就是 編譯器 建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名或物件名。乙個變數或物件在一定的區 域內 比如函式內,全域性等 只能被定義一次,如果定義多次,編譯器會提示你重複...

C語言中宣告和定義詳解

c 程式通常由許多檔案組成,為了讓多個檔案訪問相同的變數,c 區分了宣告和定義。變數的定義 definition 用於為變數分配儲存空間,還可以為變數指定初始值。在程式中,變數有且僅有乙個定義。宣告 declaration 用於向程式表明變數的型別和名字。定義也是宣告 當定義變數的時候我們宣告了它的...