形參和實(shí)參的區別
形參出現在函數定義中,在整個(gè)函數體內都可以使用, 離開(kāi)該函數則不能使用。
本文引用地址:http://dyxdggzs.com/article/201610/306019.htm實(shí)參出現在主調函數中,進(jìn)入被調函數后,實(shí)參變量也不能使用。
形參和實(shí)參的功能是作數據傳送。發(fā)生函數調用時(shí), 主調函數把實(shí)參的值傳送給被調函數的形參從而實(shí)現主調函數向被調函數的數據傳送。
1.形參變量只有在被調用時(shí)才分配內存單元,在調用結束時(shí), 即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。 函數調用結束返回主調函數后則不能再使用該形參變量。
2.實(shí)參可以是常量、變量、表達式、函數等, 無(wú)論實(shí)參是何種類(lèi)型的量,在進(jìn)行函數調用時(shí),它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實(shí)參獲得確定值。
3.實(shí)參和形參在數量上,類(lèi)型上,順序上應嚴格一致, 否則會(huì )發(fā)生“類(lèi)型不匹配”的錯誤。
4.函數調用中發(fā)生的數據傳送是單向的。 即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。 因此在函數調用過(guò)程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì )變化。
5.當形參和實(shí)參不是指針類(lèi)型時(shí),在該函數運行時(shí),形參和實(shí)參是不同的變量,他們在內存中位于不同的位置,形參將實(shí)參的內容復制一份,在該函數運行結束的時(shí)候形參被釋放,而實(shí)參內容不會(huì )改變。
而如果函數的參數是指針類(lèi)型變量,在調用該函數的過(guò)程中,傳給函數的是實(shí)參的地址,在函數體內部使用的也是實(shí)參的地址,即使用的就是實(shí)參本身。所以在函數體內部可以改變實(shí)參的值
評論