函数的指针参数不能直接使用malloc,直接malloc指针还是NULL。
举例:
void test_func(char *p, int num)
{
p=(char *)malloc(num);
}
当调用test_func给p分配内存时就会失败,因为编译器会为每个函数的每个参数创建副本,实际上是副本_p=malloc(num),然后编译器又使_p=p,这样_p和p都=NULL了。。。