1. 程式人生 > >函式的定義與宣告的區別

函式的定義與宣告的區別

C語言編譯系統是由上往下編譯的.一般被調函式放在主調函式後面的話,前面就該有宣告.不然C由上往下的編譯系統將無法識別。正如變數必須先聲明後使用一樣,函式也必須在被呼叫之前先宣告,否則無法呼叫!函式的宣告可以與定義分離,要注意的是一個函式只能被定義一次,但可以宣告多次。

函式宣告由函式返回型別、函式名和形參列表組成。形參列表必須包括形參型別,但是不必對形參命名。這三個元素被稱為函式原型,函式原型描述了函式的介面。定義函式的程式設計師提供函式原型,使用函式的程式設計師就只需要對函式原型編輯即可。
【返回型別】 函式名(引數1型別 引數1,引數2型別 引數2,……);
函式宣告中的形參名往往被忽略,如果宣告中提供了形參的名字,也只是用作輔助文件。另外要注意函式宣告是一個語句,後面不可漏分號!


宣告與定義的區別:
函式的宣告與函式的定義形式上十分相似,但是二者有著本質上的不同。宣告是不開闢記憶體的,僅僅告訴編譯器,要宣告的部分存在,要預留一點空間。定義則需要開闢記憶體。
函式的定義
函式的定義是一個完整的函式單元:
包含函式型別、函式名、形參及形參型別、函式體等
在程式中,函式的定義只能有一次
函式首部與花括號間不加分號
函式的宣告
函式宣告只是對編譯系統的一個說明:
函式宣告是對定義的函式的返回值的型別說明,以通知系統在本函式中所呼叫的函式是什麼型別。
不包含函式體(或形參)
呼叫幾次該函式就應在各個主調函式中做相應宣告
函式宣告是一個說明語句,必須以分號結束