小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

什么情況下使用指針的引用(指針)

 靜謐風霜 2019-10-25

在函數調用時

用指針或者引用做參數,表示把變量的地址傳遞給子函數,但是子函數只能修改指針所指變量的值,并不能修改指針的指向。

如果想用修改指針的指向,就要用指針的指針,或者指針的引用。

大部分情況下,用指針和引用做參數,只是想要修改指針所指變量的值,并沒有想修改指針的指向。

但是如果指針所指的這塊內存在調用子函數結束之后發(fā)生了改變,那就要用指針的引用或者指針的指針。

下面舉幾個典型的例子:

例子一:

鏈表做參數時,其實就是頭結點的指針,在遍歷,查找這種操作做子函數時,鏈表不會發(fā)生改變,那就用頭結點的指針做參數就可以了。

但是在增加,修改,刪除這種操作時,鏈表會發(fā)生改變,這就表示頭結點指針所指的這塊內存會發(fā)生改變,也就是指針的指向可能會發(fā)生改變,這種情況下就要頭指針的引用。

在二叉樹和圖的子函數調用中是同樣的道理,如果子函數會修改二叉樹和圖,那就要用指針的引用。

那塊內存在主函數已經申請好了,但是在子函數中大小變了。

例子二:

在主函數中定義了一個指針,要將這個指針做參數傳給子函數,在子函數中開辟兩兆內存,這個時候一定要用指針的引用。

因為指針所指的這塊內存發(fā)生了改變,或者說指針的指向發(fā)生了改變。

主函數中只是定義了一個指針,并沒有真正開辟內存,子函數中才真正開辟內存,指針指向哪才明確下來。

如果你有時候不清楚該不該用變量的引用做參數,那就記住一點:

用指針的引用總是沒有問題的。因為傳遞變量的地址比傳遞變量本身總是改的快。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多