问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言二叉树

发布网友 发布时间:2022-04-25 13:58

我来回答

1个回答

热心网友 时间:2023-10-05 13:30

在create_tree中,参数t只在一开始被bintree初始化,此时他们同时指向未初始化的内存。当执行到t=(tree * )malloc(sizeof(tree));时候,t被赋予了新的内存空间,注意,这里新分配的内存仅仅是分配给了t,与bintree没有关系。每次进入create_tree后都为局部变量t分配内存,而你在函数退出之后无法进行内存回收,进而造成内存泄露。
正确的做法是,给create_tree传递一个指针类型的引用,tree *&t,这样你在操作t的时候就像在操作bintree一样,才能达到给bintree分配内存的目的。
最后别忘了写一个释放内存的方法:
void free_tree(tree *t)
{
if (t)
{
free_tree(t->lchild);
free_tree(t->rchild);
printf("\n%c has freed.", t->data);
free(t);
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 c二叉树 建立 c语言二叉树什么意思?学习要有什么基础? 数据结构c二叉树的算法 计算机c语言中什么是“二叉树”? c语言 二叉树 计算机c语言中 什么是二叉树 emotional是什么意思 什么叫emo Emotional中文怎么读 emotional好像有三种意思都是什么? emo 什么意思? Emotional是什么意思啊 emotionad中文 Emotional是什么意思? 我emotional了是什么意思 emonational中文是什么? 英语emotional什么意思 “emotional”什么意思? 通过滴滴打出租车价格是不是比直接叫出租车贵些 滴滴打车贵吗? c语言二叉树代码求解 c语言 c语言 二叉树构造问题 关于c语言二叉树 c语言二叉树结点 C语言二叉树的应用 C语言二叉树的创建和遍历 c语言二叉树的问题 怎么查看自己在QQ防沉迷上绑定的身份证号码? 如何用专业GPU软件辨别显卡的级别 专业显卡和游戏显卡的区别? 专业显卡和普通显卡的区别 专业显卡跟普通显卡有什么区别? 专业显卡和游戏显卡究竟有什么区别 什么情况下需要用专业图形显卡? 专业显卡与普通显卡的区别 作图的显卡 专业显卡是什么意思? 西双版纳想买一顶遮阳帽子竹编的去哪里买女式尖头帽 维佩洛女士的遮阳帽如何? 夏天女性正确防晒知识,防晒要注意哪些事项 速干360度透气遮阳帽品牌brands这个品牌的女式㡌在哪里买到。