[阅读: 729] 2004-12-17 03:39:04
从代码结构的观点来看,如果你在一个函数里分配了内存并返回指针给调用者,比较好的办法就是再提供一个函数给调用者来释放,总的来说就是:那里有malloc那里就应该对应一个free,调用者malloc调用者free,函数库malloc,函数库free
比如:
mytype * getSomthing()
{
mytype * p = (mytype * )malloc(sizeof(mytype));
....
return p;
}
void freeSomthing(mytype * p)
{
free(p);
}
strdup不符合这种观点,所以不是个好函数