函数参数传递和动态内存分配的问题

利用下面这段代码进行动态内存分配有什么问题:


char *getmemory(int sum)
{
     char *p=NULL;
    p=(char *)malloc(sum); 
    return p;
}

int main()

{
    char *str=NULL;
     str=getmemory(100);
    strcpy(str,"hello c!");
    printf("%s\n",str);
}

你的主程序需要释放内存,否则可能造成内存泄漏

这不是那个标准的面试题。你需要增加一个释放函数来free malloc的p指针。

除去释放内存,代码还有别的问题么?