gpt4 book ai didi

c - 释放指针和将其分配给 NULL 有什么区别?

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

谁能告诉我:

int *p;
p=(int*)malloc(10*sizeof(int));
free(p);

int *p;
p=(int*)malloc(10*sizeof(int));
p=NULL;

最佳答案

free 将释放 p 指向的内存 - 简单地将它分配给 NULL 不会(因此你会发生内存泄漏).

值得一提的是,在调用 free 之后将指针分配给 NULL 是一种很好的做法,因为这将防止您意外地尝试访问已释放的内存(这仍然是可能的,但绝对不应该这样做)。

关于c - 释放指针和将其分配给 NULL 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2430819/

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