C語言中的定義和宣告

2021-09-26 04:59:30 字數 837 閱讀 9624

定義:指的是在**中定義乙個變數、函式,定義的最顯著的乙個特徵是,執行定義後,編譯器會在記憶體中分配一塊記憶體給所定義的變數或函式,

如執行

int a ,b,c= 0;
都會在記憶體中分配一定的空間以存放這幾個變數。

宣告:宣告的目的是在於告訴編譯器,系統中已經有這麼乙個名字是aaa的變數或者函式了,我要用的就是那個已經定義好的名字為aaa的變數或函式,相比定義來講,執行宣告操作並不會重新分配記憶體,只是引用了已經定義好的變數或函式

如執行

extern int a ,b c ;

int function_test(int temp);
這就是宣告, 也即當我們要使用的a,b,c變數就是已經在其他原始檔中定義好的a,b,c時,需要執行extern int a,b,c來告訴編輯器,我的變數是從別的原始檔來的。

同時,我們在乙個原始檔中進行乙個全域性變數的定義時,對於該原始檔來講,執行定義的語句,不僅是一種定義,還具有宣告的功能。

處理定義和宣告

這裡提供一種全域性變數引用的方法:

在.c檔案中宣告變數,然後在標頭檔案.h所有的變數宣告前加上extern,注意在.**件中不要對變數進行賦值。然後其他需要使用全域性變數

的.c檔案中包含.**件即可。編譯器會為.c生成目標檔案,然後鏈結時,如果該.c檔案使用了全域性變數,鏈結器就會鏈結到此.c檔案。

其他檔案需要使用此全域性變數也是同樣的方式,目的其實只有乙個,就是使變數在記憶體中唯一化。

C語言定義和宣告區別

1.變數的定義和宣告 c語言定義和宣告分為變數的定義和宣告和函式的定義和宣告。由於,函式是具有全域性外部特性,並且函式的定義和宣告區別是很明顯的。其宣告需要返回值型別,函式名和引數列表。而函式的定義需要函式體。所以,很容易區別函式的宣告和定義。對於變數的宣告和定義,就不是那麼明顯。通常變數定義和宣告...

C語言定義和宣告區別

c語言定義和宣告區別 1.變數的定義和宣告 c語言定義和宣告分為變數的定義和宣告和函式的定義和宣告。由於,函式是具有全域性外部特性,並且函式的定義和宣告區別是很明顯的。其宣告需要返回值型別,函式名和引數列表。而函式的定義需要函式體。所以,很容易區別函式的宣告和定義。對於變數的宣告和定義,就不是那麼明...

C語言函式的定義和宣告。

函式的定義 函式的定義就是函式體的實現。函式體就是乙個 塊,它在函式被呼叫時執行,與函式定義相反的是,函式宣告出現在函式被呼叫的地方。函式宣告向編譯器提供該函式的相關資訊,用於確保函式被正確的呼叫。那麼函式到底是如何定義的呢?請看下面的語法 型別 函式名 形式引數 塊最簡單的 function na...