求助:一个c语言改写文件程序,运行到free语句时总是出错,我对指针、内存泄露等都不太明白

[复制链接]
查看11 | 回复4 | 2016-4-18 22:30:26 | 显示全部楼层 |阅读模式
错误点已在代码里标注,在note的地方 原因是arr内存溢出,堆里的分界符被写掉,所以free的时候,报异常错!!!!============================================ #include#include #includevoid split(char **arr, char *str, const char *del) {char * s = strtok(str, del); ...
回复

使用道具 举报

千问 | 2016-4-18 22:30:26 | 显示全部楼层
一般情况,你的程序实际上使用了多少次分配函数,就要free多少次,当然要对指向首地址的指针作用...
回复

使用道具 举报

千问 | 2016-4-18 22:30:26 | 显示全部楼层
很有可能是系统的限制,系统不允许这样操作。...
回复

使用道具 举报

千问 | 2016-4-18 22:30:26 | 显示全部楼层
arr是个二级指针if(arr != NULL)
free(*arr);free(arr); 试试...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行