當前位置:首頁 » 編程語言 » c語言函數形參實參

c語言函數形參實參

發布時間: 2024-12-06 08:27:58

c語言中形參和實參的區別

形式參數和實際參數
函數的參數分為形參和實參兩種。在本小節中,進一步介紹形參、實參的特點和兩者的關系。形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。實參出現在主調函數中,進入被調函數後,實參變數也不能使用。形參和實參的功能是作數據傳送。發生函數調用時,主調函數把實參的值傳送給被調函數的形參從而實現主調函數向被調函數的數據傳送。
函數的形參和實參具有以下特點:
1. 形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。函數調用結束返回主調函數後則不能再使用該形參變數。
2. 實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。
3. 實參和形參在數量上,類型上,順序上應嚴格一致,否則會發生類型不匹配」的錯誤。
4. 函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。

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

main()
{
intn;
printf("inputnumber ");
scanf("%d",&n);
s(n);
printf("n=%d ",n);
}
ints(intn)
{
inti;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d ",n);
}


本程序中定義了一個函數s,該函數的功能是求∑ni的值。在主函數中輸入n值,並作為實參,在調用時傳送給s 函數的形參量n( 注意,本例的形參變數和實參變數的標識符都為n,但這是兩個不同的量,各自的作用域不同)。在主函數中用printf 語句輸出一次n值,這個n值是實參n的值。在函數s中也用printf 語句輸出了一次n值,這個n值是形參最後取得的n值0。從運行情況看,輸入n值為100。即實參n的值為100。把此值傳給函數s時,形參n的初值也為100,在執行函數過程中,形參n的值變為5050。返回主函數之後,輸出實參n的值仍為100。可見實參的值不隨形參的變化而變化。

㈡ c語言中形參和實參的區別

函數的形參和實參區別如下:
1. 形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。函數調用結束返回主調函數後則不能再使用該形參變數。
2. 實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。
3. 實參和形參在數量上,類型上,順序上應嚴格一致,否則會發生類型不匹配」的錯誤。
4. 函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。
實參(argument):
全稱為"實際參數"是在調用時傳遞給函數的參數. 實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
形參(parameter):

全稱為"形式參數" 由於它不是實際存在變數,所以又稱虛擬變數。是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳入的參數.在調用函數時,實參將賦值給形參。因而,必須注意實參的個數,類型應與形參一一對應,並且實參必須要有確定的值。
形式參數:形參是函數被調用時用於接收實參值的變數。

根據實際需要可有可無。沒有形參時,圓括弧也不可省;多個參數之間應用逗號分隔。參數包括參數名和參數類型。

熱點內容
如何快速清除手機圖形密碼 發布:2025-03-14 14:32:03 瀏覽:444
電子郵件賬戶的伺服器該怎麼填寫 發布:2025-03-14 14:31:59 瀏覽:421
泰拉瑞亞蒲公英怎麼開在線伺服器 發布:2025-03-14 14:21:20 瀏覽:629
如何破壞門上的密碼鎖 發布:2025-03-14 14:19:39 瀏覽:968
咖啡源碼 發布:2025-03-14 13:51:32 瀏覽:168
android漂亮的listview 發布:2025-03-14 13:40:26 瀏覽:392
android路線規劃 發布:2025-03-14 13:23:22 瀏覽:304
poi瀏覽器島風go緩存 發布:2025-03-14 13:10:24 瀏覽:189
具體可要說存儲在鋼瓶中是因為 發布:2025-03-14 13:00:36 瀏覽:442
汽車空調壓縮機不轉了 發布:2025-03-14 12:55:45 瀏覽:32