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

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

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

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

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

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

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

相关推荐
小师兄吃牛肉2 小时前
C语言篇:宏
c语言·开发语言
炸膛坦客2 小时前
单片机开发工具篇:(十四)配置输出 .map 文件及其本地路径
c语言·单片机·嵌入式硬件
Ivanqhz3 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
kakakahahahaha3 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
Navigator_Z4 小时前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode
殷色玫瑰5 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·linux·c语言·c++
C++ 老炮儿的技术栈6 小时前
main函数之后的调用
c语言·c++·人工智能·qt·mfc·c
꯭自꯭闭꯭7 小时前
DM7主备升级方案
linux·服务器·数据库
用户4107192013257 小时前
VMware 虚拟机Ubuntu 环境linux远程连接失败
linux
lisanmengmeng7 小时前
Nagios邮件报警的配置
linux·运维·服务器