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

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

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

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

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

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

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

相关推荐
啊哦1119 分钟前
安装VMware Workstation
linux·运维·服务器
持敬chijing38 分钟前
Linux基础命令与目录命令
linux·运维·服务器
yunwei371 小时前
实证研究:AI Agent 规则需要上下文与分层强制执行
linux·安全·ai编程
小张成长计划..1 小时前
【Linux】12:进程状态
linux·运维·服务器
cjr_xyi1 小时前
AT1202Contest_c binarydigit 题解
c语言·c++·算法
会周易的程序员1 小时前
Libnodave S7 通信库:架构设计与实现解析
linux·c++·物联网·架构·c·s7·工业协议
云栖梦泽1 小时前
Camera驱动开发与应用开发中的零拷贝与DMA
linux·驱动开发·嵌入式硬件
Navigator_Z2 小时前
LeetCode //C - 1156. Swap For Longest Repeated Character Substring
c语言·算法·leetcode
无相求码3 小时前
const vs #define:C语言常量定义的差异
c语言·算法
Android洋芋3 小时前
AI辅助C盘清理
c语言·开发语言·人工智能·ai辅助c盘清理