當前位置:
首頁 >
【c++】5.函数传指针与传值特容易混淆的点
發布時間:2025/3/21
21
豆豆
生活随笔
收集整理的這篇文章主要介紹了
【c++】5.函数传指针与传值特容易混淆的点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數傳指針與傳值特容易混淆的點
這里只做一部分的解析,詳解請參考 指針參數傳遞動態內存 https://blog.csdn.net/daaikuaichuan/article/details/77229599
參考 https://bbs.csdn.net/topics/240071177
傳指針的目的是改變指針指向單元的值,而不是改變指針本身(即指針表示的地址).
如果函數參數是指針類型,需要具體分析:
見后面的代碼中:
void swap1(int *p1, int *p2) 是傳值,只不過這個值是個指針(地址);
void swap2(int *p1, int *p2)是傳指針,在函數內部是更改p1和p2指向的值,這也是我們最常用的方式。
如果函數內部是改變指針的指向(地址),則相當于傳值,雖然在函數內形參p1和p2指針指向改變了,但是調用了該函數之后,形參對應的實參p1和p2的指向地址完全沒改變。
p1,p2 是通過值傳入函數的,只不過這個值是個指針(地址),可看作函數局部變量。
總結
以上是生活随笔為你收集整理的【c++】5.函数传指针与传值特容易混淆的点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【c++】11.重写、覆盖、using、
- 下一篇: 【Socket网络编程】6.两个既能收也