在函数调用时,用指针或者引用做参数,表示把变量的地址传递给子函数,但是子函数只能修改指针所指变量的值,并不能修改指针的指向。如果想用修改指针的指向,就要用指针的指针,或者指针的引用。
大部分情况下,用指针和引用做参数,只是想要修改指针所指变量的值,并没有想修改指针的指向。
但是如果指针所指的这块内存在调用子函数结束之后发生了改变,那就要用指针的引用或者指针的指针。
下面举几个典型的例子:(指针的指向发生改变)
例子:
在主函数中定义了一个指针,要将这个指针做参数传给子函数,在子函数中开辟两兆内存,这个时候一定要用指针的引用。
因为指针所指的这块内存发生了改变,或者说指针的指向发生了改变。
主函数中只是定义了一个指针,并没有真正开辟内存,子函数中才真正开辟内存,指针指向哪才明确下来。
尤其是在树操作的时候,创建新的节点需要使用&
来改变指向