Passing pointer argument by reference under C?

前端 未结 6 1961
清歌不尽
清歌不尽 2020-12-01 22:20
#include 
#include 

void
getstr(char *&retstr)
{
 char *tmp = (char *)malloc(25);
 strcpy(tmp, \"hello,world\");
 retstr = tmp;
}         


        
6条回答
  •  自闭症患者
    2020-12-01 22:44

    Try this:

    
    void
    getstr(char **retstr)
    {
     char *tmp = (char *)malloc(25);
     strcpy(tmp, "hello,world");
     *retstr = tmp;
    }
    
    int
    main(void)
    {
     char *retstr;
    
     getstr(&retstr);
     printf("%s\n", retstr);
    
     return 0;
    }
    

提交回复
热议问题