在写一个程序代码分析程序时,运用的是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; }