在使用JSON过程中遇到的一个空间释放问题

在对完成的模块进行空间访问检查中发现了这个问题,这刚开始接触JSON的使用,也不知道他的内部实现,因此该问题找了好久,终于发现是每个节点创建都会自动开辟空间,因此造成空间未成功释放的错误。

JSON未成功替换节点空间释放问题

cJSON_ReplaceItemInObject(ties,"time", CJSON_CreateString(curtime));

在上述节点替换函数中,若ties节点内没有time节点,则会替换失败,新创建的CJSON_CreateString(curtime)节点不会加入到大节点上,因此递归释放根节点时,新创建的该节点不会被释放。

因此未成功挂载到根上的节点需要单独释放空间。

大家在项目中一定要养成空间随开随关的习惯啊

相关推荐
丢爸15 分钟前
网络学习-eNSP配置NAT
linux·网络·学习
沐风ya23 分钟前
NAT技术介绍+缺陷(内网穿透+工具),NAPT(介绍,替换过程,原理,NAT转换表)
linux·服务器·网络
八月的雨季 最後的冰吻1 小时前
C--字符串函数处理总结
c语言·前端·算法
丷丩1 小时前
一个Java中有用的JacksonUtil类
java·json·工具
波点兔2 小时前
利用Python解析json生成PPT、xmind思维导图教程
json·powerpoint·音视频
hummhumm2 小时前
数据库系统 第46节 数据库版本控制
java·javascript·数据库·python·sql·json·database
别挡2 小时前
CentOS Stream 8中安装和使用 Docker
linux·docker·centos
Mr_Xuhhh2 小时前
C语言深度剖析--不定期更新的第六弹
c语言·开发语言·数据结构·算法
人工智障调包侠3 小时前
Linux 目录介绍
linux·运维·服务器
善 .3 小时前
C语言编译过程
c语言·开发语言