1. 程式人生 > 實用技巧 >函式的祕密之 形參和實參

函式的祕密之 形參和實參

C 語言自學之 形參和實參

 1 #include <stdlib.h>
 2  
 3 int getGirth(int a,int b,int c)
 4 {
 5     if( (a+b)<=c || (a+c)<=b || (b+c)<=a )   //判斷是否為三角形
 6     {
 7         printf("不構成三角形\n");
 8         return 0;
 9     }
10     else
11     {
12       int cirf = a+b+c ;     //計算三角形周長
13       return cirf;//
那麼函式的返回值是指函式被呼叫之後,執行函式體中的程式段所取得的並返回給主調函式的值。 14 } 15 16 } 17 18 int main() 19 { 20 /* 定義三角形三邊長 */ 21 int a, b, c; 22 a = 3; 23 b = 4; 24 c = 5; 25 printf("三角形的周長是:%d\n", getGirth(a,b,c)); //呼叫周長函式 26 return 0; 27 }

數的形參和實參具有以下特點:
形參只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。
因此,形參只有在函式內部有效。函式呼叫結束返回主調函式後則不能再使用該形參變數。
實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須具有確定的值,
以便把這些值傳送給形參。因此應預先用賦值等辦法使實參獲得確定值。
在引數傳遞時,實參和形參在數量上,型別上,順序上應嚴格一致,否則會發生型別不匹配”的錯誤。

例如:以下函式multiDouble(int x)實現把x乘以2再返回給函式呼叫處。

 1 #include <stdio.h>
 2 int MultDouble(int x)//這裡的X是形參
 3 {
 4     return x*2;
 5 }
 6 int main()
 7 {
 8     int x=10;//定義變數x
 9     //下面的X是實參,他其實就是main函式中定義的變數X
10     printf("x=%d\n",MultDouble(x));
11     return 0;
12 }