int val=2;
void fun(int *pn)
{
*pn=val;
}
int main()
{
int a=1;
int *p=&a;
cout<<p<<endl;
fun(p);
cout<<p<<endl;
return 0;
}
指针作为参数传递
指针作为参数传递给一个函数时,传递了一个指针的复本过去(中间有一个隐藏的临时中间变量),改变的该复本值,指针的值没有发生改变。
指针的指针
// 指针的指针
void fun(int **p)
{
*p=&val;
**p=val;
}
指针的引用
// 指针的引用
void fun(int *&p)// *在前,书写习惯的问题
{
p=&val;
}