首先返回比自由char值c

时间:2017-05-08 23:30:23

标签: c memory return free

在这个函数中,我需要返回AND删除一个char值(释放已分配的内存)。 这个功能出了什么问题?

ftp.sendcmd("site mysite.com")

我首先尝试释放而不是返回它但没有结果,我对valgrind有一些错误。 我还有一个单独的函数(没有删除)返回我想要返回的值并在此处删除

1 个答案:

答案 0 :(得分:2)

以下是代码中的几个主要问题

  • name = temp->name;只会将char *name设置为指向您要返回的字符串。您需要执行memcpy然后释放内存。
  • free永远不会被执行后
  • return

我想你想要的是

  1. 为返回数据分配内存(或使用静态数组)
  2. 从队列中复制数据
  3. 队列结构中的可用内存
  4. 返回指针(如果您没有使用free缓冲区,则必须稍后static指针)