+ -
当前位置:首页 → 问答吧 → 指针函数返回的内存地址,何时释放

指针函数返回的内存地址,何时释放

时间:2010-09-14

来源:互联网

指针函数里malloc了一段地址,return地址上的数据给main函数,那应该在main函数最后free吧,但是free的里填的参数是?
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. char *reverse(const char *p);
  4. int main()
  5. {
  6.         char *test="anihC evoL I";
  7.         printf("%s",reverse(test));  
  8.         free();
  9. }
  10. char *reverse(const char *p)
  11. {
  12.         char *dest=NULL;
  13.         int len=0,i;
  14.         char *d="";
  15.         while(*p!='\0')
  16.         {
  17.                 len++;
  18.                 p++;
  19.         }
  20.         dest =(char *)malloc((len+1)*sizeof(char));
  21.         d=dest;
  22.         for(i=0;i<len;i++)
  23.         {
  24.                 p--;
  25.                 *d=*p;
  26.                 d++;
  27.         }
  28.         return dest;
  29. }
复制代码

作者: Mr-Summer   发布时间: 2010-09-14

  1. int main()
  2. {
  3.          char *test="anihC evoL I";
  4.          char *p = reverse(test);
  5.          printf("%s",p);  
  6.          free(p);
  7. }
复制代码
I Love China too!

作者: efolzl   发布时间: 2010-09-14

知道了,谢谢楼上

作者: Mr-Summer   发布时间: 2010-09-14

相关阅读 更多