C 函式原型

2021-07-29 21:33:56 字數 941 閱讀 6320

一,函式原型

函式原型(函式宣告)就是告訴編譯器這個函式是存在的,讓編譯器知道這個函式的相關資訊。函式原型不要求提供形參名,有型別列表就可以了。避免使用函式原型的方法是,在首次使用函式定義之前定義它,但這並不是總可行的。我們一般把函式宣告放在主函式的前面,因為min()函式是應用程式的入口。函式宣告是告訴編譯器這個函式存在,函式定義是表示該函式如何去做。

二,為什麼需要函式原型?

函式原型描述了函式到編譯器的介面,它將函式返回值的型別以及引數的型別和數量告訴編譯器。例如:看函式原型如何影響下面的函式呼叫。

double cube(double x);

int main()

double cube(double x)

首先原型告訴編譯器,cube()有乙個double引數。如果程式沒有提供這樣的引數,原型將讓編譯器捕獲這樣的錯誤。其次,函式呼叫結束後,將把返回值放到指定的位置。然後呼叫函式將從這個位置獲取返回值。由於函式原型指出了函式的返回值是double型別,因此編譯器知道應檢索多少個位元組以及如何解釋他們。如果沒有這些資訊,編譯器只能進行猜測,但是編譯器並不會這麼做。

三,函式原型的功能

函式原型可以幫助編譯器完成許多的工作,同時,它也可以幫助程式極大的降低程式出錯的機率。原型可以確保以下幾點:

1,編譯器正確處理函式返回值。

2,編譯器檢索使用的引數數目是否正確。

3,編譯器檢查使用的引數型別是否正確,如果不正確轉換為正確的型別。

int x = 5;

double val = cube(x);

首先看上面的函式呼叫,程式將乙個int型的值5傳遞給cube()。編譯器注意到,cube()原型指定乙個double型別的引數,因此會將5轉換為5.0。

C語言函式原型

在主調函式中呼叫某函式之前應對該被調函式進行說明 宣告 這與使用變數之前要先進行變數說明是一樣的。在主調函式中對被調函式作說明的目的是使編譯系統知道被調函式返回值的型別,以便在主調函式中按此種型別對返回值作相應的處理。其一般形式為 型別說明符 被調函式名 型別 形參,型別 形參 或為 型別說明符 被...

c 之函式原型

函式原型 作用域 函式連線規範 返回值型別 函式呼叫規範 函式名 型別1 形參1 函式定義 函式連線規範 返回值型別 函式呼叫規範 函式名 形參列表 介面函式一定要指定呼叫規範,若不指定 使用預設 當別人宣告該介面時與預設的呼叫規範不一致 函式原型與實現的排程規範不一致 時,將發生編譯連線錯誤,或執...

C 函式內部定義函式原型?

在乙個函式內部這樣寫有意義嗎?首先說一下函式是不能巢狀定義的。其次這裡不是定義,只是個函式宣告。函式宣告的作用不用再問我了吧,c c 語法規定,定義在當前語句之後函式,是不能直接使用的,因為函式的查詢範圍是從第一句找到當行所在行,如果沒出現就會丟擲未解析符號的錯誤 你可以寫在全域性裡,也可以只寫在當...