QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1481|回复: 4

[C语言]关于free。

[复制链接]
发表于 2006-10-15 11:26:12 | 显示全部楼层 |阅读模式
现在打算重写以前自己写的一个程序,新版本会大量使用结构体和链表,但C语言久已不用,比较生疏了,现在有问题要问。

在内存堆空间动态分配空间后能得到指向这段空间起始位置的指针;
该段空间使用完毕后需要free()一次该指针以便系统收回该段堆空间。

对一个已经被free()过一次的堆空间指针再free()一次会出错。但怎样判断该指针是否已经被free()过?
 楼主| 发表于 2006-10-15 11:28:08 | 显示全部楼层
Sorry,发错区了。
回复

使用道具 举报

发表于 2006-10-15 13:36:43 | 显示全部楼层
在free以后将指针赋值为NULL.
free(pMem);
pMem = NULL;
这样以后判断一下是否为空就可以知道了.
回复

使用道具 举报

发表于 2006-10-15 18:35:15 | 显示全部楼层
正在学习C语言ing......
回复

使用道具 举报

发表于 2006-10-16 07:53:17 | 显示全部楼层
[quote:97b5a444e8="superman"]正在学习C语言ing......[/quote]

语病,呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-24 12:09 , Processed in 0.089942 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表