这个问题是由我上次和一个同学讨论引起的,这个问题在我的另一篇博客 中有写到:大概如下,当一个新参为指针的函数接受一个指针作为实参时,但是这个实参指针没有初始化,然后我在这个函数中用malloc为其分配内存,那么退出这个函数之后,这个实参是什么呢?
下面,我写了这个文件来测试test_vp.c
------------------------------------------test_vp.c-----------------------------------------
#include<stdio.h>
char a,b;
char *pa,*pb;
char **pp;
void func_v(char x){ /*(一)*/
printf("in func_v x=%c/n",x='X');
}
void func_vp(char *px){ /*(二)*/
printf("in func_vp *px=%c/n",*px='C');
}
void func_vp1(char *px){ /*(三)*/
px=&b;
printf("in func_vp1 *px=%c/n",*px);
}
void func_pp(char **pp){ /*(四)*/
printf("in func_pp **pp=%c/n",**pp='I');
}
void func_pp2(char **pp){ /*(五)*/
pp=&pa;
printf("in func_pp2 **pp=%c/n",**pp);
}
void func_pp3(char **pp){ /*(六)*/
*pp=pa;
printf("in func_pp3 **pp=%c/n",**pp);
}
int main(){
a='A';
b='B';
pa=&a;
pb=&