指针作为函数参数的问题
书上有一句话:“当函数参数为一个指针时,不能用该指针去动态分配内存,如果一定要的话,
要用指针的指针”
比如:1:(错误的方法)
void fun(int*q)
{
q=(int*)malloc(sizeof(int));
}
int main()
{
int * p;
fun(p);
return 0;
}
2:(正确的方法)
void fun(int**q)
{
*q=(int*)malloc(sizeof(int));
}
int main()
{
int *p;
fun(&p);
retur 0;
}
这是为什么呢?