【悬赏】数据结构,c语言版本。顺序表那块,扩容函数问题,谢谢!

第一次调用这个函数的时候可以,第二次就弹出错误中止对话框了。(第二个语句,申请空间的时候出错。)求解,谢谢... 第一次调用这个函数的时候可以,第二次就弹出错误中止对话框了。(第二个语句,申请空间的时候出错。)

求解,谢谢
展开
 我来答
濮方雅BX
2012-12-23 · TA获得超过4042个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2461万
展开全部
为谨慎起见,必须对realloc结果进行检查,
1. realloc失败的时候,返回NULL
2. realloc失败的时候,原来的内存不改变,不会释放也不会移动
3. 假如原来的内存后面还有足够多剩余内存的话,
realloc的内存=原来的内存+剩余内存,realloc还是返回原来内存的地址;
假如原来的内存后面没有足够多剩余内存的话,realloc将申请新的内存,然后把原来的内存数据拷贝到新内存里,原来的内存将被free掉,realloc返回新内存的地址。
所以从你的函数代码来看,不应该在此时free
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不爱宵冷
2012-12-23 · TA获得超过177个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:65.4万
展开全部
free放在外面试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
俊可爱7
2012-12-23
知道答主
回答量:49
采纳率:0%
帮助的人:9.9万
展开全部
对的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式