gpt4 book ai didi

c - 可以使传递的指针为空的函数

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:36 24 4
gpt4 key购买 nike

现在我有

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 即可对其进行修改? (从最终用户的角度)

最佳答案

与 C++ 不同,如果不在调用函数中使用 & 运算符,就无法传递 aNode 的地址。

使用预处理器来隐藏您实际正在做的事情很可能被认为是一种不如上述清晰方法“优雅”的方法。

关于c - 可以使传递的指针为空的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11496469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com