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