是这样的,我想在一个函数 f 中,让指针q 指向指针p的目的地。在函数内部是可以的,但是跳出函数,这两个指针还是各指各的。
我的实现是这样的
void f(int* q, int* p)
{
q = p;
}
int main()
{
int a = 5, b = 6;
int* q = &a, * p =& b; // 一开始两个指针各指向一个数
f(q, p); // 让第一个指针也指向第二个
// 发现没有用,两个指针还是各干各的
}
看来对于指针来说,自己也是值传递,如果想要 f 函数有效果,必须要修改如下
void f(int* & q, int* & p)
{
q = p;
}
这样才能完成!!!