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

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

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

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

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

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

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

相关推荐
bu_shuo8 分钟前
c与cpp中的argc和argv
c语言·c++·算法
早点睡啊Y14 分钟前
深入学 LangChain 官方文档(一):总览、安装与快速开始
linux·服务器·langchain
Aurorar0rua39 分钟前
CS50 x 2024 Notes Algorithms - 02
c语言·开发语言·学习方法
国产化创客1 小时前
Kindle完整越狱改造:从闲置泡面盖到Linux开发与智能家居终端
linux·运维·物联网·嵌入式·智能家居·智能硬件
足球中国1 小时前
nuget把缓存搬离C盘
c语言·windows·缓存
qetfw2 小时前
CentOS 7 搭建 MariaDB 数据库服务
linux·数据库·centos·mariadb
皮卡狮2 小时前
进程的地址空间
linux
Darkwanderor2 小时前
动、静态库相关内容的详细介绍
linux·c语言·开发语言·c++
梦幻通灵4 小时前
Notepad++格式化Json两种方案【持续更新】
android·json·notepad++
2401_858286114 小时前
OS79.【Linux】POSIX信号量
linux·运维·服务器