传给函数一个普通的指针都会用,当我想用函数改变指针的地址时怎么做呢?
看下面的代码 :
void test(int **pp)
{
(*p)++;
}
int main()
{
int a=5;
int *p=NULL;
p=&a;
cout << *p << endl;
test(&p);
cout << *p << endl;
}
输出结果:
5
-1079145520
显然,指针指向的地址被函数更改了。
本文通过一个具体的C++示例,探讨了如何通过函数来修改指针所指向的地址,并展示了正确的实现方式与可能遇到的问题。
传给函数一个普通的指针都会用,当我想用函数改变指针的地址时怎么做呢?
看下面的代码 :
void test(int **pp)
{
(*p)++;
}
int main()
{
int a=5;
int *p=NULL;
p=&a;
cout << *p << endl;
test(&p);
cout << *p << endl;
}
5
-1079145520
显然,指针指向的地址被函数更改了。
2434

被折叠的 条评论
为什么被折叠?