int *p=(int *)malloc(sizeof(int)*10);
free(p);
//这里free后,“释放” 这里这块内存仍然被这个程序占用 程序执行结束后,由操作系统释放
p=NULL;
这里虽然被释放的内存仍然被程序占用,但是如果有其他需要申请内存的,可以直接用。所以free很有意义
本文介绍了C语言中如何使用malloc和free进行内存分配与释放。通过示例代码解释了free操作后内存状态的变化以及如何避免悬空指针的问题。
int *p=(int *)malloc(sizeof(int)*10);
free(p);
//这里free后,“释放” 这里这块内存仍然被这个程序占用 程序执行结束后,由操作系统释放
p=NULL;
这里虽然被释放的内存仍然被程序占用,但是如果有其他需要申请内存的,可以直接用。所以free很有意义
4095

被折叠的 条评论
为什么被折叠?