gpt4 book ai didi

在调用 free 之前检查 NULL

转载 作者:太空狗 更新时间:2023-10-29 16:25:42 27 4
gpt4 key购买 nike

许多 C 代码释放指针调用:

if (p)
free(p);

但是为什么?我认为 C 标准说 free 函数在给定 NULL 指针的情况下不执行任何操作。那么为什么要进行另一个显式检查呢?

最佳答案

结构:

free(NULL);

在 C 中一直没问题,回到 Dennis Ritchie 编写的原始 UNIX 编译器。预标准化,一些糟糕的编译器可能没有正确地使用它,但如今任何不正确的编译器都不能合法地称自己为 C 语言的编译器。使用它通常会产生更清晰、更易于维护的代码。

关于在调用 free 之前检查 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912325/

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