利用下面这段代码进行动态内存分配有什么问题:
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指针。
除去释放内存,代码还有别的问题么?