C语言,内存无法释放-求救啊

独上西楼 2012-12-26 08:05:21
void ReversStr(char* s)
{
int len=strlen(s);
char* tmp=(char*)malloc(sizeof(len+1));
int i=0;
char* ptr=NULL,*p=tmp;
ptr=s+len-1;
while(len)
{
*p++=*ptr--;
len--;
}
*p='\0';
printf("reversed str=%s\n",tmp);
free(tmp);
}

代码是将字符串反序输出,执行结果正确,但会出现无法释放分配的内存,注释掉free()就没问题了,是何原因?求各位大大帮忙!
...全文
468 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
独上西楼 2013-01-02
  • 打赏
  • 举报
回复
很抱歉,看错了。。。没意思到,麻烦各位了
AnYidan 2012-12-28
  • 打赏
  • 举报
回复
越界了,非法使用内存
proorck6 2012-12-28
  • 打赏
  • 举报
回复
sizeof(len+1) 你太有创意了
SKATE11 2012-12-28
  • 打赏
  • 举报
回复
引用 5 楼 tianweishuiguo 的回复:
char* tmp=(char*)malloc(sizeof(len+1)); 相当于malloc(sizeof(int)) 你只申请了四个字节
++
xxb249 2012-12-28
  • 打赏
  • 举报
回复
断点调试看一下内存就行了!! 断点调试是程序员必须掌握的最基本技能
jilianglijie 2012-12-28
  • 打赏
  • 举报
回复
记得以前老师千叮咛万嘱咐说一定要仔细检查malloc的空间大小。
wizard_tiger 2012-12-27
  • 打赏
  • 举报
回复
sizeof()的值是()中数据类型所占的内存大小, 而len+1因为len为int型则len+1也为int型,所以sizeof(len+1)只申请了一个int型数据的大小。 应该为char* tmp=(char*)malloc(sizeof(char)*len+1));
xzjlcyz 2012-12-27
  • 打赏
  • 举报
回复
非法操作内存
q422013 2012-12-27
  • 打赏
  • 举报
回复
我想问下出现那个弹框式什么意思,什么情况会遇见.
PIE 2012-12-26
  • 打赏
  • 举报
回复
引用 5 楼 tianweishuiguo 的回复:
char* tmp=(char*)malloc(sizeof(len+1)); 相当于malloc(sizeof(int)) 你只申请了四个字节
hhyhw2001 2012-12-26
  • 打赏
  • 举报
回复
申请内存的代码写错了: char* tmp=(char*)malloc(sizeof(char)*len+1));
东大坡居士 2012-12-26
  • 打赏
  • 举报
回复
char* tmp=(char*)malloc(sizeof(len+1)); 相当于malloc(sizeof(int)) 你只申请了四个字节
whizer 2012-12-26
  • 打赏
  • 举报
回复
char* tmp=(char*)malloc(len+1);
Zoelov 2012-12-26
  • 打赏
  • 举报
回复
malloc中写错了,char *tmp = (char *)malloc(sizeof(char)*(len+1));
lee_鹿游原 2012-12-26
  • 打赏
  • 举报
回复
引用 1 楼 lile1234_show 的回复:
C/C++ code?1char* tmp=(char*)malloc(sizeof(char)*(len+1));

int* p = (int *) malloc (sizeof(int)*N);//分配N个(可根据实际需要替换N值)整型存储单元,
并将这N连续的整型存储单元的首地址存储到指针变量p中..  malloc要记住.. 
lee_鹿游原 2012-12-26
  • 打赏
  • 举报
回复

char* tmp=(char*)malloc(sizeof(char)*(len+1));

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧