上图中,指针q在传入 setnull 函数时,将 q 赋给了 setnull 的一个临时拷贝!因此在 setnull 函数中 令 t = nullptr 时,并不会影响到主程序中的q。
从指针的地址也可以看出,setnull 函数中的临时指针和主程序中的指针并不是同一个指针!
如果想在函数中改变主程序中的指针值本身,可以使用指针的引用:
将函数设置为:
void setnull(TreeNode * & q) {
...
}
标签:主程序,函数,传递,函数参数,setnull,指针
From: https://www.cnblogs.com/San-Francisco/p/17031588.html