C語言函數調用的形式
一般形式
- 函數名(實參表列)
函數調用語句
- 把函數調用單獨作為一個語句。
函數參數
- 函數調用作為另一個函數調用時的實參。
調用函數并不一定要求包括分號。
- 只有作為函數調用語句才需要有分號。如果作為函數表達式或函數參數,函數調用本身是不必有分號的。
C語言函數調用時的數據傳遞
在調用有參函數時,主調函數和被調函數之間有數據傳遞關系。
在定義函數時函數名后面括號中的變量稱為“形式參數”或“虛擬參數”;在主調函數中調用一個函數時,函數名后面括號中的參數稱為“實際參數”。
在調用函數過程中發生的實參與形參間的數據傳遞,稱為“虛實結合”。
實參可以是常量、變量或表達式,實參與形參的類型應相同或賦值兼容。
C語言函數調用的過程
- 在定義函數中指定的形參,在未出現函數調用時,它們并不是占內存中的存儲單元。
- 將實參對應的值傳遞給形參。
- 通過return語句將函數值帶回到主調函數。
- 調用結束,形參單元被釋放。
- 實參向形參的數據傳遞是“值傳遞”,單向傳遞,只能由實參傳給形參,而不能由形參傳給實參。
C語言函數的返回值
函數的返回值是通過函數中的return語句獲得的。
函數值的類型,應當在定義函數時指定函數值的類型。
在定義函數時指定的函數類型一般應該和return語句中的表達式類型一致。
函數類型決定返回值類型。
C語言函數調用案例
#include//頭文件
int maxNumber(int num1,int num2);//函數聲明
int main()//主函數
{
int num1,num2;
printf("請輸入兩個數:");
scanf("%d %d",&num1,&num2);
int max=maxNumber(num1,num2);//函數調用
printf("%d\\n",max);
return 0;//函數返回值為0
}
int maxNumber(int num1,int num2)//自定義比較大小函數
{
int max;
if(num1>num2)
{
max=num1;
}
else
{
max=num2;
}
return max;
}
編譯運行結果:
請輸入兩個數:4 9
9
--------------------------------
Process exited after6.124 secondswith return value0
請按任意鍵繼續. . .
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
180文章
7614瀏覽量
137408 -
函數
+關注
關注
3文章
4345瀏覽量
62867 -
數據傳遞
+關注
關注
1文章
3瀏覽量
1769
發布評論請先 登錄
相關推薦
匯編語言模塊調用C++函數實例
現在編寫一個簡單的應用程序,提示用戶輸入整數,通過移位的方式將其與 2 的幕 (21?2?) 相乘,并用填充前導空格的形式再次顯示每個乘積。輸入-輸出使用 C++。匯編模塊將調用 3 個 C
發表于 10-11 09:52
?957次閱讀
評論