在資料結構中當建立二叉樹時候void CreateBiTree(BiTree &T);傳引數為什麼不能用指標而要用引用或指標的指標
阿新 • • 發佈:2018-12-16
記得以前我們剛上資料結構,建立二叉樹的時候,void CreateBiTree(BiTree &T);引數傳遞的是一個指向結構體指標的引用,有一個人問過老師,他說要改變值必須要用引用,我感覺他這裡根本就沒跟我們講清楚,為什麼要用指標的引用呢?
後來我問了別人,自己想了一下,在C語言中,可能接觸過這樣一個例子,通過函式交換兩個變數的值,然後打印出來,我們知道這個通過指標是可以做到的,當然引用也是可以的。指標能夠改變原來兩個變數的值,為什麼到這裡就不行了呢void CreateBiTree(BiTree T),同樣我這裡也是傳遞的是一個指標,而不能改變其值。
void CreateBiTree(BiTree T);剛開始建立的時候,實參傳進來的指標是為空的
而void DeleteChild(BiTree T,BiTree p,int LR);這裡用指標就夠了,BiTree T這裡傳給形參本來就是有值的,不為空,當實參傳給形參時,對形參改變也會影響到本體。僅個人看法,如果有不正確的地方請指出,相互學習,謝謝!