溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言中怎么實現(xiàn)形參和實參

發(fā)布時間:2021-07-02 17:00:19 來源:億速云 閱讀:244 作者:Leah 欄目:編程語言

C語言中怎么實現(xiàn)形參和實參,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

形式參數(shù)和實際參數(shù)

函數(shù)的參數(shù)分為形參和實參兩種。在本小節(jié)中,進一步介紹形參、實參的特點和兩者的關(guān)系。形參出現(xiàn)在函數(shù)定義中,在整個函數(shù)體內(nèi)都可以使用,離開該函數(shù)則不能使用。實參出現(xiàn)在主調(diào)函數(shù)中,進入被調(diào)函數(shù)后,實參變量也不能使用。形參和實參的功能是作數(shù)據(jù)傳送。發(fā)生函數(shù)調(diào)用時,主調(diào)函數(shù)把實參的值傳送給被調(diào)函數(shù)的形參從而實現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。

函數(shù)的形參和實參具有以下特點:

1.形參變量只有在被調(diào)用時才分配內(nèi)存單元,在調(diào)用結(jié)束時,即刻釋放所分配的內(nèi)存單元。因此,形參只有在函數(shù)內(nèi)部有效。函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后則不能再使用該形參變量。

2.實參可以是常量、變量、表達式、函數(shù)等,無論實參是何種類型的量,在進行函數(shù)調(diào)用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應(yīng)預(yù)先用賦值,輸入等辦法使實參獲得確定值。

3.實參和形參在數(shù)量上,類型上,順序上應(yīng)嚴(yán)格一致,否則會發(fā)生類型不匹配”的錯誤。

4.函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實參中的值不會變化。

【例】可以說明這個問題。

">#include<stdio.h> 
int add(int num) 
{ 
  int i; 
  for(i=0;i<100;i++) 
  { 
    num=num+i; 
  } 
  printf("num=%d\n",num); 
} 
int main() 
{ 
  int num; 
  printf("輸入一個數(shù)\n"); 
  scanf("%d",&num); 
  add(num); 
  printf("n=%d\n",num); 
  return 0; 
}

本程序中定義了一個函數(shù)add,該函數(shù)的功能是求num+i的累加值。在主函數(shù)中輸入num值,并作為實參,在調(diào)用時傳送給add函數(shù)的形參量nuum。在主函數(shù)中用printf語句輸出一次n值,這個num值是實參num的值。在函數(shù)add中也用printf語句輸出了一次n值,這個num值是形參最后取得的n值0。從運行情況看,輸入num值為6。即實參num的值為6。把此值傳給函數(shù)add時,形參num的初值也為6,在執(zhí)行函數(shù)過程中,形參num的值變?yōu)?956。返回主函數(shù)之后,輸出實參num的值仍為6??梢妼崊⒌闹挡浑S形參的變化而變化。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI