社区
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所占用空间?
...全文
362
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语言
指针
作为
函数
参数传递
学习(一)
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语言
,如何将
函数
作为
参数传递
给C?
这说明参数f将是
一个
指向
一个
函数
的
指针
,该
函数
有
一个
void返回类型,并且它接受
一个
int参数。以下
函数
(print)是
一个
函数
的示例,可以将其作为
参数传递
给func,因为它是正确的类型:void print ( int x ) {printf("%...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章