C C 中的實參和形參

2021-08-27 14:11:40 字數 566 閱讀 7864

函式定義時候寫的引數就是形參呼叫函式,傳遞進取的引數就是實參。

舉個例子吧,假設你定義乙個 我要吃糖的函式:void 我要吃糖(string 某種糖)這個就是形參了,因為這裡只是個形式,並沒有指明是給你什麼糖吃,所以是形參。我要吃糖(棉花糖)這個就是實參了,這樣你就吃到棉花糖(實參)了。

形參出現在函式定義中,在整個函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。形參和實參的功能是作資料傳送。發生函式呼叫時,主調函式把實參的值傳送給被調函式的形參從而實現主調函式向被調函式的資料傳送。 

函式的形參和實參具有以下特點:

1. 形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只有在函式內部有效。函式呼叫結束返回主調函式後則不能再使用該形參變數。 

2. 實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。 

3. 實參和形參在數量上,型別上,順序上應嚴格一致,否則會發生型別不匹配」的錯誤。

C C 中 實參和形參

1 值傳遞 實參是變數,表示式等值。find int x y find z 上面的例子中,z是實參,x是形參。x變z不變。在值傳遞過程中,實參和形參位於記憶體中兩個不同位址中,實參先自己複製一次拷貝,再把拷貝複製給形參。所以,在值傳遞過程中,形參的變化不會對實參有任何的影響。2 位址傳遞 也稱引用傳...

C C 中的實參和形參

今天突然看到一道關於形參和實參的題,我居然不求甚解。藐視過去在我的腦海裡只有乙個引數的概念,對於形參和實參的區別還真的不知道,作為學習了幾年c 的人來說,真的深深感覺對不起自己對不起c 老師 t。t 我覺得只要明白了值傳遞和位址傳遞,就應該能明白形參和實參的具體工作細節了。1 值傳遞 實參是變數,表...

C C 中的實參和形參

今天突然看到一道關於形參和實參的題,我居然不求甚解。藐視過去在我的腦海裡只有乙個引數的概念,對於形參和實參的區別還真的不知道,作為學習了幾年c 的人來說,真的深深感覺對不起自己對不起c 老師 t。t 我覺得只要明白了值傳遞和位址傳遞,就應該能明白形參和實參的具體工作細節了。1 值傳遞 實參是變數,表...