C 中使用指標 引用進行引數傳遞

2023-02-18 10:10:37 字數 609 閱讀 5573

1樓:招承後昭

第一張圖,你只是傳入一個引數,只是一個值,就是在main函式里定義的,在swap函式里面是有進行參值的改變,而函式結束後,參形並不能改變實參,所以值沒有變。你第二和第三張,傳入的是兩個實參的地址,把地址裡的內容進行交換,就是兩個值,而改變後的值在放入地址裡面,所以有改變值。簡單點講就是第一張只是值的改變,但地址的內容沒變,第二第三直接是地址裡的內容進行改變。

2樓:南堅談幼安

c++中函式傳值有兩種方式,一種是傳值,還有就是傳遞引用(指標)。

傳值實際上是把實參的值拷貝過去,所以對原來的值沒有影響。

而傳遞指標雖然也是拷貝過去(拷貝的是指標值,不是拷貝指標指向的數,你會發現傳遞指標的話形參實際上是實參的地址,和直接傳值方式形參是不一樣的),但是你賦值後會把指標指向的值給替換。你會發現你僅僅想改變指標本身的值還是做不到的,但是這樣你可以改變指標指向的值了,而改變不了指標本身其實就和第一個例子一樣的道理,因為傳遞的是拷貝過去的指標值,如果你想改變指標本身的話,就要傳遞二級指標。

所以在c++裡邊提倡用引用代替指標作為形參,用引用**簡潔易懂,不容易出錯。引用可以理解為實參的別名,你改變它就會改變實參的值。可以把引用理解為const指標。

C 中,當形參是指標,實參是什麼

你這第一個和第二個有什麼不一樣的麼,就是把temp換成了p。第一個和第二個都不會有變化,第三個會交換。要理解指標和指標變數的含義,我們平時說的指標,一般指的就是指標變數。指標變數也是變數,它的值也會變化。指標變數儲存的是一個記憶體地址。函式呼叫的過程中,先要把實參複製給形參,如果引數是指標型別,那麼...

C 裡一般在什麼情況下使用指標,怎樣使用指標對記憶體的消耗最小

c 中主要在以下三種情況下使用指標 1.對同一塊記憶體空間分時儲存多個同型別的資料。過去此時使用指標的目的是節省記憶體空間,現在主要是實現資料之間的互斥 現在記憶體夠大了 2.如果需要同時對一組同型別的資料進行多個側面的組織,以有效支援多種不同性質的操作,可以是喲個多個指標陣列來實現 比如對一組數分...

描述建構函式如何在繼承中使用,關於C 中建構函式的繼承的問題。

繼承技術是物件導向程式設計的主要特徵。物件導向程式語言引入繼承機制,可以實現 重用,提高程式設計效率。c 只支援單繼承,即一個派生類只能有一個基類。類的繼承性是指一個類定義既可以具有其他類的資料成員 屬性成員 方法成員等,也可以使其他類具有自己的資料成員 屬性成員 方法成員等。在類的繼承中,被繼承的...