C語言函數(shù)調(diào)用的形式
一般形式
- 函數(shù)名(實(shí)參表列)
函數(shù)調(diào)用語句
- 把函數(shù)調(diào)用單獨(dú)作為一個語句。
函數(shù)參數(shù)
- 函數(shù)調(diào)用作為另一個函數(shù)調(diào)用時的實(shí)參。
調(diào)用函數(shù)并不一定要求包括分號。
- 只有作為函數(shù)調(diào)用語句才需要有分號。如果作為函數(shù)表達(dá)式或函數(shù)參數(shù),函數(shù)調(diào)用本身是不必有分號的。
C語言函數(shù)調(diào)用時的數(shù)據(jù)傳遞
在調(diào)用有參函數(shù)時,主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。
在定義函數(shù)時函數(shù)名后面括號中的變量稱為“形式參數(shù)”或“虛擬參數(shù)”;在主調(diào)函數(shù)中調(diào)用一個函數(shù)時,函數(shù)名后面括號中的參數(shù)稱為“實(shí)際參數(shù)”。
在調(diào)用函數(shù)過程中發(fā)生的實(shí)參與形參間的數(shù)據(jù)傳遞,稱為“虛實(shí)結(jié)合”。
實(shí)參可以是常量、變量或表達(dá)式,實(shí)參與形參的類型應(yīng)相同或賦值兼容。
C語言函數(shù)調(diào)用的過程
- 在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時,它們并不是占內(nèi)存中的存儲單元。
- 將實(shí)參對應(yīng)的值傳遞給形參。
- 通過return語句將函數(shù)值帶回到主調(diào)函數(shù)。
- 調(diào)用結(jié)束,形參單元被釋放。
- 實(shí)參向形參的數(shù)據(jù)傳遞是“值傳遞”,單向傳遞,只能由實(shí)參傳給形參,而不能由形參傳給實(shí)參。
C語言函數(shù)的返回值
函數(shù)的返回值是通過函數(shù)中的return語句獲得的。
函數(shù)值的類型,應(yīng)當(dāng)在定義函數(shù)時指定函數(shù)值的類型。
在定義函數(shù)時指定的函數(shù)類型一般應(yīng)該和return語句中的表達(dá)式類型一致。
函數(shù)類型決定返回值類型。
C語言函數(shù)調(diào)用案例
#include//頭文件
int maxNumber(int num1,int num2);//函數(shù)聲明
int main()//主函數(shù)
{
int num1,num2;
printf("請輸入兩個數(shù):");
scanf("%d %d",&num1,&num2);
int max=maxNumber(num1,num2);//函數(shù)調(diào)用
printf("%d\\n",max);
return 0;//函數(shù)返回值為0
}
int maxNumber(int num1,int num2)//自定義比較大小函數(shù)
{
int max;
if(num1>num2)
{
max=num1;
}
else
{
max=num2;
}
return max;
}
編譯運(yùn)行結(jié)果:
請輸入兩個數(shù):4 9
9
--------------------------------
Process exited after6.124 secondswith return value0
請按任意鍵繼續(xù). . .
-
C語言
+關(guān)注
關(guān)注
180文章
7594瀏覽量
135858 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4277瀏覽量
62323 -
數(shù)據(jù)傳遞
+關(guān)注
關(guān)注
1文章
3瀏覽量
1756
發(fā)布評論請先 登錄
相關(guān)推薦
評論