C 形參和實參

2021-09-03 08:06:40 字數 834 閱讀 1548

今天突然看到一道關於形參和實參的題,我居然不求甚解。藐視過去在我的腦海裡只有乙個引數的概念,對於形參和實參的區別還真的不知道,作為學習了幾年c++的人來說,真的深深感覺對不起自己對不起c++老師 t。t

我覺得只要明白了值傳遞和位址傳遞,就應該能明白形參和實參的具體工作細節了。

1、值傳遞

實參是變數,表示式等值。

find(int x){}

y= find(z);

上面的例子中,z是實參,x是形參。x變z不變。

在值傳遞過程中,實參和形參位於記憶體中兩個不同位址中,實參先自己複製一次拷貝,再把拷貝複製給形參。所以,在值傳遞過程中,形參的變化不會對實參有任何的影響。

2、位址傳遞(也稱引用傳遞)

實參是指標。

在函式呼叫的時候,實參傳遞給你的是指標位址,位址一樣也就意味著實參和形參是一樣的,當你的形參發生改變時,實參也會發生改變。

find(int  &x){}

y= find(z);

上面的例子中,z是實參,x是形參。z隨x而改變。

3、const引用傳遞

find(const int  &x){}

y= find(z);

上面的例子中,z是實參,x是形參。z不隨x而改變。

有人就會問了,你這樣做不是和值傳遞一樣的麼?no!

仔細觀察就會發現,在值傳遞中要進行兩次拷貝,浪費記憶體資源是相當可恥的,const的出現有效避免了這種情況的出現,只需拷貝一次就夠了。

c 實參和形參

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

c 實參形參

形參 形式引數 在函式定義 現的引數可以看做是乙個佔位符,它沒有資料,只能等到函式被呼叫時接收傳遞進來的資料,所以稱為形式引數,簡稱形參。實參 實際引數 函式被呼叫時給出的引數包含了實實在在的資料,會被函式內部的 使用,所以稱為實際引數,簡稱實參。形參和實參的功能是傳遞資料,發生函式呼叫時,實參的值...

形參和實參

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