首页 > 其他分享 >C-指针参数不能直接malloc

C-指针参数不能直接malloc

时间:2023-01-30 22:00:49浏览次数:64  
标签:malloc char 编译器 num 参数 指针

函数的指针参数不能直接使用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了。。。

标签:malloc,char,编译器,num,参数,指针
From: https://www.cnblogs.com/redke/p/17077355.html

相关文章