從鏈表操作理解C++傳指針的問題

一般在函數調用時傳入的參數有傳值和傳引用之分,傳引用自不必說,理解上不會有太大問題,傳指針容易對傳值還是傳引用產生混淆,實際上它還是傳值,具體的,傳指針可以理解爲分兩種情況(自我理解,不太準確,但是比較形象):把 *指針 傳遞給 *指針,把 *指針的地址 傳遞給 **指針。當把 *指針 傳遞到函數中的 *指針 時,確保該指針指向有效的地址空間,則函數就可以通過指針直接操作那個地址空間,如圖(1);當把 *指針的地址 傳遞到函數中的 **指針 時,在函數中的指針內容是原指針變量的地址,取一次 * 得到那個指針中的內容(也是一個地址),間接操作目標區域中的內容,如圖(2)。這兩個有什麼區別,可以通過下圖中的鏈表操作理解:

圖(1)

 

圖(2)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章