函式呼叫的一般形式為:
函式名([實參表列]);
如果是呼叫無參函式,則「實參表列」可以沒有,但括號不能省略。如果實參表列包含多個實參,則各引數間用逗號隔開。實參與形參的個數應相等,型別應匹配(相同或賦值相容)。實參與形參按順序對應,一對一地傳遞資料。但應說明,如果實參表列包括多個實參,對實參求值的順序並不是確定的。
按函式在語句中的作用來分,可以有以下3種函式呼叫方式:
函式語句
把函式呼叫單獨作為乙個語句,並不要求函式帶回乙個值,只是要求函式完成一定的操作。如例4.1中的printstar( );
函式表示式
函式出現在乙個表示式中,這時要求函式帶回乙個確定的值以參加表示式的運算。如c=2*max(a, b);
函式引數
函式呼叫作為乙個函式的實參。如:
m=max(a, max(b, c)); //max(b, c)是函式呼叫,其值作為外層max函式呼叫的乙個實參
在乙個函式中呼叫另乙個函式(即被呼叫函式)需要具備以下條件:
首先被呼叫的函式必須是已經存在的函式。
如果使用庫函式,一般還應該在本檔案開頭用#include命令將有關標頭檔案「包含」到本檔案中來。
如果使用使用者自己定義的函式,而該函式與呼叫它的函式(即主調函式)在同乙個程式單位中,且位置在主調函式之後,則必須在呼叫此函式之前對被呼叫的函式作宣告。
所謂函式宣告(declare),就是在函式尚在未定義的情況下,事先將該函式的有關資訊通知編譯系統,以便使編譯能正常進行。
【例4.3】對被呼叫的函式作宣告。
複製純文字新視窗
#include
using namespace std;
int main( )
float add(float x,float y)//定義add函式
#include using namespace std;
int main( )
//在main函式中不必對它所呼叫的函式作宣告
char letter(char c1, char c2) //定義letter函式
float f(float x, float y)//定義f函式
int i(float j, float k) //定義i函式
如果乙個函式被多個函式所呼叫,用這種方法比較好,不必在每個主調函式中重複宣告。
C 函式的呼叫及函式原型
函式呼叫的一般形式為 函式名 實參表列 如果是呼叫無參函式,則 實參表列 可以沒有,但括號不能省略。如果實參表列包含多個實參,則各引數間用逗號隔開。實參與形參的個數應相等,型別應匹配 相同或賦值相容 實參與形參按順序對應,一對一地傳遞資料。但應說明,如果實參表列包括多個實參,對實參求值的順序並不是確...
C 函式原型,及內聯函式
1 一般型別 返回值 函式名 參數列 2 函式原型的參數列中可不包引數的名字,而只包含它們的型別 int add int a,int b int add add 3 函式定義由函式說明和函式體兩個部分構成1.作用 消除系統開銷,提高執行速度 2.內聯函式在第一次被呼叫之前必須進行完整的定義,否則編譯...
C 函式原型
一,函式原型 函式原型 函式宣告 就是告訴編譯器這個函式是存在的,讓編譯器知道這個函式的相關資訊。函式原型不要求提供形參名,有型別列表就可以了。避免使用函式原型的方法是,在首次使用函式定義之前定義它,但這並不是總可行的。我們一般把函式宣告放在主函式的前面,因為min 函式是應用程式的入口。函式宣告是...