目前我有
void clistDeleteNode(clist_t *list,cnode_t **pnode) {
cnode_t *node=*pnode;
/* stuff done with node here, removed for clarity */
free(*pnode);
*pnode=0;
}
这被称为
clistDeleteNode(list,&aNode);
该函数在释放后自动将最终用户指针设为 NULL - 我这样做是因为它使调试和泄漏检查更容易。
有没有更优雅的方法来传递一个指向函数的指针,比如它可以被修改而不必使用 * & *aNode ?(从最终用户的角度来看)