C語言函數(shù)調(diào)用的形式
一般形式
- 函數(shù)名(實(shí)參表列)
函數(shù)調(diào)用語句
- 把函數(shù)調(diào)用單獨(dú)作為一個(gè)語句。
函數(shù)參數(shù)
- 函數(shù)調(diào)用作為另一個(gè)函數(shù)調(diào)用時(shí)的實(shí)參。
調(diào)用函數(shù)并不一定要求包括分號(hào)。
- 只有作為函數(shù)調(diào)用語句才需要有分號(hào)。如果作為函數(shù)表達(dá)式或函數(shù)參數(shù),函數(shù)調(diào)用本身是不必有分號(hào)的。
C語言函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞
在調(diào)用有參函數(shù)時(shí),主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。
在定義函數(shù)時(shí)函數(shù)名后面括號(hào)中的變量稱為“形式參數(shù)”或“虛擬參數(shù)”;在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括號(hào)中的參數(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)用時(shí),它們并不是占內(nèi)存中的存儲(chǔ)單元。
- 將實(shí)參對(duì)應(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ù)時(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("請(qǐng)輸入兩個(gè)數(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é)果:
請(qǐng)輸入兩個(gè)數(shù):4 9
9
--------------------------------
Process exited after6.124 secondswith return value0
請(qǐng)按任意鍵繼續(xù). . .
-
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136683 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4327瀏覽量
62569 -
數(shù)據(jù)傳遞
+關(guān)注
關(guān)注
1文章
3瀏覽量
1758
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論