void Fun(int*p)
{
…
p=a;(假设a是已赋值的int型指针变量)
}
…
int main()
{
int*p;
Fun(p);
}
好奇调用完函数后p的值会发生改变吗?
都知道用指针传参可以改变其指向内容的值,那要改变指针变量本身的值,这样写还能行吗?还是说要用指针的指针?
你自己测试的结果会说明的
指针变量保存的是地址值,所以他本身是可以改变的,假设int a,b;int *p;那么p指针可以指向a的地址也可以指向b的地址,不需要用指针的指针
我个人的猜想是,函数形参传入本质上还是值传递,只是说有地址值作为形参的话,可以通过它改变其指向内容,但出了函数,作为形参的地址值本身还是不改变。所以本质上都是值传递