在写一个程序代码分析程序时,运用的是C语言,其中一个函数,重复调用时malloc分配不了内存,可用new替换了就可以了,弄不明白什么原因。
//分配一个函数;
pFuncPro AddFunc(const char * name)
{
//为什么重复调用AddFunc函数malloc分配不了内存,而new可以;
//pFuncPro func = (pFuncPro)malloc(sizeof(funcProLen));
pFuncPro func = new FuncPro;
if(func != NULL)
{
//func->data = NULL;
StrAssign(func->funName, name);
func->startPos = g_codePro->allRow;
func->row = 0;
func->next = NULL;
}
return func;
}