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

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

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

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

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

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

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

相关推荐
程序 代码狂人10 分钟前
CentOS7初始化配置操作
linux·运维·开发语言·php
zhangx1234_13 分钟前
C语言 数据在内存中的存储
c语言·开发语言
历程里程碑18 分钟前
Linux15 进程二
linux·运维·服务器·开发语言·数据结构·c++·笔记
H Journey26 分钟前
Linux su 命令核心用法总结
java·linux·服务器·su
PPPPPaPeR.1 小时前
环 境 变 量
linux·运维·windows
HalvmånEver1 小时前
Linux:线程创建与终止上(线程五)
java·linux·jvm
嵌入小生0071 小时前
双向链表、双向循环链表之间的异同---嵌入式入门---Linux
linux·c语言·数据结构·链表·嵌入式·小白
H Journey1 小时前
Linux sudo 命令完全指南
linux·运维·服务器·sudo
开开心心_Every1 小时前
家常菜谱软件推荐:分类齐全无广告步骤详细
linux·运维·服务器·华为od·edge·pdf·华为云
i建模1 小时前
在 Arch Linux 中安装 **Xorg 服务器**
linux·运维·服务器