已分配内存的指针作为返回值 该怎么样释放内存!-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

已分配内存的指针作为返回值 该怎么样释放内存!

2016-06-06 09:27:09 1948 2

例如定义

char *p=(cahr *)malloc(10*sizeof(char)); 
strcpy(p, "这是为什么呢?\n"); 
return p;

这里该怎样释放p的内存空间呢? 把free(p)放在return之后 ,它不会执行这一行代码的啊!

取消 提交回答
全部回答(2)
  • jesuszhu_
    2019-07-17 19:27:35

    由调用者负责释放,尽量不这么设计,让调用者分配好之后传进来比较好

    0 0
  • a123456678
    2019-07-17 19:27:34

    这种情况由调用者负责释放(例如 strdup 函数),或者你再提供一个用于释放你返回的东西的接口(很多库的做法)。

    0 0
添加回答
相关问答

1

回答

当我 malloc() 为一个函数的局部指针分配内存时, 我还需要用 free() 明确的释放吗?

2022-03-29 02:30:48 211浏览量 回答数 1

1

回答

一个指针变量分配多少内存?

2022-03-29 02:27:55 126浏览量 回答数 1

1

回答

我必须在程序退出之前释放分配的所有内存吗?

2022-03-29 02:31:22 134浏览量 回答数 1

1

回答

动态分配的内存一旦释放之后你就不能再使用, 是吧?

2022-03-29 02:30:05 154浏览量 回答数 1

1

回答

关于a = b = c = 1 三个变量被分配到相同的内存空间上,这是正确的吗?

2021-11-02 21:52:19 303浏览量 回答数 1

1

回答

c++中二级指针的释放问题?报错

2020-06-14 17:50:03 296浏览量 回答数 1

1

回答

C语言使用回调函数解决内存申请和释放的问题? 400 报错

2020-06-03 15:45:17 395浏览量 回答数 1

1

回答

指针释放问题

2016-03-24 10:45:52 1724浏览量 回答数 1

1

回答

c++对象内存分配的问题,如何确定在堆上还是在栈上?

2016-03-05 15:11:20 2410浏览量 回答数 1

1

回答

C++中动态申请的数组内存异常时内存释放问题

2016-03-05 09:35:46 1634浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载