對於一級指針,做形參時傳入地址,如果函數只改變該指針內容,OK,該指針可以正常返回,
對於二級指針,做形參時傳入地址(注意此時傳入的是二級指針的地址),如果改變該二級指針地址(**p),
void fun(int *q)
{
int b = 100;
q = &b;
}
void fun(int *q)
{
int b = 100;
*q = b;
}
void fun(int **q)
{
int b = 100;
*q = &b;
}
void fun(int **q)
{
int b = 100;
**q = b;
}
void fun(int **q)
{
int *b = new int;
*b = 100;
q = &b;
delete b;
}
小測驗,看看哪些會改變 q的值。
int x = 10;
fun(x);
//fun(&x);
printf("%d\n",x);