社区
C语言
帖子详情
c语言中,将要释放的指针作为参数传递后,取址载传入另一个函数,再释放有问题吗?
六碗铁biu_
2017-10-18 02:19:49
假设CJSON* a已申请内存,
调用release(a);
void release(CJSON* p)
{
fun(&p);
}
void fun(CJSON** x)
{
if(NULL != *x)
{
cJSON_Delete(*ppData);
*x = NULL;
}
}
此时释放的是否还是有想要释放的a所占用空间?
...全文
359
3
打赏
收藏
c语言中,将要释放的指针作为参数传递后,取址载传入另一个函数,再释放有问题吗?
假设CJSON* a已申请内存, 调用release(a); void release(CJSON* p) { fun(&p); } void fun(CJSON** x) { if(NULL != *x) { cJSON_Delete(*ppData); *x = NULL; } } 此时释放的是否还是有想要释放的a所占用空间?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xian_wwq
2017-10-18
打赏
举报
回复
没看出来这么做的必要性 但是这么释放肯定是可以的
自信男孩
2017-10-18
打赏
举报
回复
你的代码看不出你要表达的逻辑; 申请空间就要释放,不需要去释放同一指针,但是要保留申请时空间的首地址。
老马何以识途
2017-10-18
打赏
举报
回复
代码很乱啊,ppData是什么?cJSON_Delete就是释放内存的函数吗?如果ppData就是x,应该没问题。
C语言
--视频精讲
C语言
作为被长期使用的编程语言,可以被运用到各种操作系统,游戏,开发
中
。本课程作为互联网上首家使用C99录制的
C语言
教程,展现了全面、专业。标准的
C语言
教程。可以帮助学员从基础开始一点点的深刻理解
C语言
。
C语言
|
函数
指针
作为
函数
的参数
函数
指针
有两种常用的用法,一种是作为...
函数
指针
可以作为
一个
参数传递
给另
一个
函数
。这时
函数
指针
的使用就像普通的常量和变量一样。当
函数
指针
作为
参数传递
的时候,这时接收
参数传递
的
函数
通常需要根据这个
指针
调...
C语言
指针
作为
函数
参数传递
学习(一)
1. 数组或者一维
指针
做
函数
形参 1.1
传入
的
指针
为NULL 比如下面的例子,很多人都会理解错: #include <stdio.h> void test(char *string) { string = "hello world"; } ...
C语言
指针
作为参数的传递
问题
(注意:
C语言
中
没有引用传递,C++才有引用传递,因为很多
C语言
环境是用C++编译器编译,使得C看起来支持引用传递,导致很多网上很多blog都把引用传递归为
C语言
参数传递
的一类, 当使用Microsoft Visual C++ 2010 ...
c语言
--
指针
作为
函数
参数传递
本文主要讲解
指针
作为
函数
参数传递
时,什么可以以及为什么可以改变传过去的值
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章