C語言函數(shù)調(diào)用的形式
一般形式
- 函數(shù)名(實參表列)
函數(shù)調(diào)用語句
- 把函數(shù)調(diào)用單獨作為一個語句。
函數(shù)參數(shù)
- 函數(shù)調(diào)用作為另一個函數(shù)調(diào)用時的實參。
調(diào)用函數(shù)并不一定要求包括分號。
- 只有作為函數(shù)調(diào)用語句才需要有分號。如果作為函數(shù)表達式或函數(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ù)”。
在調(diào)用函數(shù)過程中發(fā)生的實參與形參間的數(shù)據(jù)傳遞,稱為“虛實結(jié)合”。
實參可以是常量、變量或表達式,實參與形參的類型應(yīng)相同或賦值兼容。
C語言函數(shù)調(diào)用的過程
- 在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時,它們并不是占內(nèi)存中的存儲單元。
- 將實參對應(yīng)的值傳遞給形參。
- 通過return語句將函數(shù)值帶回到主調(diào)函數(shù)。
- 調(diào)用結(jié)束,形參單元被釋放。
- 實參向形參的數(shù)據(jù)傳遞是“值傳遞”,單向傳遞,只能由實參傳給形參,而不能由形參傳給實參。
C語言函數(shù)的返回值
函數(shù)的返回值是通過函數(shù)中的return語句獲得的。
函數(shù)值的類型,應(yīng)當(dāng)在定義函數(shù)時指定函數(shù)值的類型。
在定義函數(shù)時指定的函數(shù)類型一般應(yīng)該和return語句中的表達式類型一致。
函數(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;
}
編譯運行結(jié)果:
請輸入兩個數(shù):4 9
9
--------------------------------
Process exited after6.124 secondswith return value0
請按任意鍵繼續(xù). . .
-
C語言
+關(guān)注
關(guān)注
180文章
7632瀏覽量
141423 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4379瀏覽量
64736 -
數(shù)據(jù)傳遞
+關(guān)注
關(guān)注
1文章
3瀏覽量
1809
發(fā)布評論請先 登錄
C語言函數(shù)調(diào)用過程中的內(nèi)存變化解析
怎么在C語言調(diào)用系統(tǒng)指令
C語言使用函數(shù)調(diào)用的知識點
匯編語言模塊調(diào)用C++函數(shù)實例
C++教程之函數(shù)的遞歸調(diào)用
C語言回調(diào)函數(shù)學(xué)習(xí)
系統(tǒng)調(diào)用函數(shù)庫分析及實例

C語言中形式參數(shù)和實際參數(shù)的介紹
C語言函數(shù)調(diào)用的三種方式
C語言使用函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么?
什么是函數(shù)的調(diào)用?
EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù)

評論