在函式呼叫時,用指標或者引用做引數,表示把變數的位址傳遞給子函式,但是子函式只能修改指標所指變數的值,並不能修改指標的指向。如果想用修改指標的指向,就要用指標的指標,或者指標的引用。
大部分情況下,用指標和引用做引數,只是想要修改指標所指變數的值,並沒有想修改指標的指向。
但是如果指標所指的這塊內存在呼叫子函式結束之後發生了改變,那就要用指標的引用或者指標的指標。
下面舉幾個典型的例子:(指標的指向發生改變)
例子:
在主函式中定義了乙個指標,要將這個指標做引數傳給子函式,在子函式中開闢兩兆記憶體,這個時候一定要用指標的引用。
因為指標所指的這塊記憶體發生了改變,或者說指標的指向發生了改變。
主函式中只是定義了乙個指標,並沒有真正開闢記憶體,子函式中才真正開闢記憶體,指標指向哪才明確下來。
尤其是在樹操作的時候,建立新的節點需要使用&
來改變指向
C 函式的傳值呼叫 指標呼叫 引用呼叫
該方法把引數的實際值複製給函式的形式引數。在這種情況下,修改函式內的形式引數對實際引數沒有影響。include using namespace std 函式宣告 void swap int x,int y int main 函式定義 void swap int x,int y 呼叫函式的時候,在函式...
C 中拷貝函式的呼叫時機
1.用已經建立好的物件來初始化新的物件 2.值傳遞的方式給函式引數傳值 3.以值方式返回區域性物件 define crt secure no warnings includeusing namespace std class person person int a person const pers...
C 中的指標 引用以及函式呼叫中的問題
函式傳參的方式有三種 1 值傳遞 2 引用傳遞 3 指標傳遞 值傳遞傳遞的是這個值的乙個拷貝,形參是實參的乙個拷貝,對形參的操作不影響實參的值 指標傳遞傳遞的是那個指標的乙個拷貝,對這個拷貝的指標指向的那塊記憶體的操作會影響原始指標指向的那塊記憶體的值 引用傳遞傳遞的是這個實參的乙個別名,傳遞的是這...