free动态分配的内存时出错

完整的源代码在这里http://www.liubinsblog.com/sand-package-pragram-write-by-c.aspx其中,下面一段删除内存时会... 完整的源代码在这里
http://www.liubinsblog.com/sand-package-pragram-write-by-c.aspx
其中,下面一段删除内存时会出现错误,请大家告诉我是怎么回事儿。
展开
 我来答
紫三寿Db
2015-03-19
知道答主
回答量:6
采纳率:0%
帮助的人:7.4万
展开全部
我运行了一下你的这个程序,free到第6个元素时会出错。原因是你的主数组只有前5个指针分配了空间。free第6个时,发现没有空间可释放,当然会报错了。
White_MouseYBZ
2015-03-19 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6727万
展开全部
这种情况一般是由于操作越界造成的。要好好检查一下操作过程中的边界条件,比如为指针p动态分配了10个元素,一旦出现p[10]这种操作,用free(p);就会出错。我经常碰到的就是样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式