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

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

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

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

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

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

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

相关推荐
撩得Android一次心动14 分钟前
Linux编程笔记3【个人用】
linux·笔记
noipp15 分钟前
推荐题目:洛谷 P6231 [JSOI2013] 公交系统
c语言·数据结构·c++·算法·游戏·洛谷·luogu
OpenPomeloxCommunity15 分钟前
3. Linux 同步机制之 spinlock 设计与实现(一):通用层
linux
c2385629 分钟前
C/C++每日一练6
c语言·c++·算法
wdfk_prog41 分钟前
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
c语言·开发语言·面试·职场和发展·嵌入式
念恒123061 小时前
网络基础
linux·网络·c++
时间的拾荒人2 小时前
MySQL C语言连接 - 从入门到实战
android·c语言·mysql
皮卡狮2 小时前
Linux静态库和动态库详解
linux
撩得Android一次心动2 小时前
Linux编程笔记4【个人用】
linux·笔记·学习