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

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

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

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

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

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

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

相关推荐
letisgo58 分钟前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
会飞的小新18 分钟前
C 标准库之 <fenv.h> 详解与深度解析
c语言·开发语言·microsoft
IT探索21 分钟前
Linux 查找文件指令总结
linux·算法
晚风吹长发23 分钟前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
sulikey37 分钟前
个人Linux操作系统学习笔记11 - 环境变量
linux·笔记·学习
Kina_C43 分钟前
NFS与Autofs快速讲解-从原理到实战配置
linux·nfs·autofs
皮卡狮1 小时前
文件系统:磁盘硬件寻址和系统软件寻址
linux
是潮汕的灿灿展吖1 小时前
Centos离线部署nfs操作
linux·运维·centos
Kina_C1 小时前
Apache HTTP Server 安装、配置与高级功能详解
linux·http·apache
爱刷碗的苏泓舒1 小时前
C 语言 if-else 与 switch-case 分支语句对比
c语言·开发语言