通常情况来说:malloc和free是在同一个函数中进行内存的申请和释放的。当你用malloc()申请内存之后,要用free()释放内存,最好还要将指向内存的指针清空为NULL。
现在我遇到的问题是在不同的文件里分别使用maoolc和free,因为要保留调用malloc的函数里申请内存的值。所以要将两者分开使用。方法是在该文件里单独写一个函数来释放申请的内存。例如下:
char *Afunc()
{
char* p=(char*)malloc(10);
memcpy(p,"12425",5);
retrun p;
}
void freefunc(char* pp)
{
free(pp);
}
那么有函数调用Afunc(),之后再调用freefunc(),就可以将之前申请的