C 形參的 與 的理解

2021-09-25 06:01:48 字數 657 閱讀 4346

簡單理解,如下**:

int swap1(int a, int b) 

int swap2(int &a, int &b)

swap1中a,b的交換,形參不會改變實參的數值;swap2中的a,b的交換,由於變數的引用,形參會改變實參的數值。

所以,

void createtree(btnode *&root)
對於指標變數也有引用的使用,故若要在呼叫的函式中改變指標變數需要使用引用:

void createtree(btnode *root)是傳值呼叫,這樣原 root 的值是不能被改變的。形參是實參的乙個copy。

void createtree(btnode *&root)是引用方式呼叫,若函式中 root指標進行改變,如生成左右孩子 , 那麼原root也會改變。

void createtree(treenode* &tree) 

else

}

tree = new treenode;
對於建立二叉樹,由於生成新結點會改變該值,所以需要使用引用該位址,改變實參,這樣才能形成一顆二叉樹。

c 形參改變實參(對指標的理解

這幾天搞邏輯比較暈,居然把指標的概念都混淆了。eg int p 當然不對指標初始化在有些編譯器是通不過編譯的,比如vs 尤其是選中了sdl 指標p是乙個物件,定義開始沒有分配了記憶體空間,只是定義了乙個指標而已。p存放的是物件的位址。可見取位址運算子 改變了指標i的位址,使i指向a。解引用 i就是i...

C 函式的形參

這些天又在複習c 溫故知新,每次看書都會發現一些之前被自己忽視掉的知識點,所以,學習是不能止步的!作為一種程式語言,c 最重要的兩個部分就是函式和變數,這兩者之間進行溝通便是通過引數傳遞,而引數傳遞有很多需要注意的細節,今天就來講講引數傳遞的問題。總的來說,引數傳遞的過程,就是初始化函式形參的過程。...

形參的 與 的區別

在定義時,是乙個識別符號,宣告該變數是乙個指標,比如說int p 那p就是乙個指向int型的指標 在呼叫時,p是指指標p指向的那個變數,比如說之前有int a 5 int p a 那麼p的值是a的位址,也就是指標p指向a,p則等於a的值,即p 5。而 則是引用,比如說有定義int a 5 再定義in...