指针作为函数参数
实际这是个很简单的问题,基本刚学指针的时候都会接触到,但是要注意指针本身是值传递这个事实。
int func_xxx(int* p)
{
...
p = (int*)xx
...
}
int* a;
func_xxx(a);如上代码,如果想要修改指针p的值,可以这样,如果想要修改指针,这样不行的,因为是值传递。函数调用处的指针还是没有变化。
可以用如下两种方式
int func_xxx(int*& p); // 直接传指针就行 func_xxx(a);
int func_xxx(int** p); // 需要对指针再取址 func_xxx(&a);最后更新于
这有帮助吗?