直接对函数传递指针
首先来看一看这个代码
这个代码输出的是2,即函数里面的c的值就是b的值,为主函数里面a这个变量的地址,所以a被改变了
再来看一看这个代码
这个代码输出的是1,就是b所指向的地址的内容没有被修改,所以c也是一个形参,他的值就是b的值(a的地址),但是c的值被改变了(变成了全局变量x的地址)不会导致b的值被改变,即b仍然指向a,所以输出1
类似的,有:
再来看看这个代码
这个代码输出的是3,即引用的指针与普通引用相同,c现在就代表b
再来看看这个代码
输出的是null,解释见上面
解决方法当然也可以用引用指针啦,但是最好还是像下面这么写