由于指针问题导致的二叉树遍历出问题
来源:互联网 发布:uniprot数据库 编辑:程序博客网 时间:2024/05/16 03:45
- 在按照网上的 demo 自己编写二叉树代码时,发现自己对于函数中的形参是指针时的理解不够深,导致使用自己编写的二叉树遍历出现了问题。先贴出来整理下:
编译链接并运行:
- 对于 CreateBiTree 函数来说,我这里传递是一个 二叉树结构体的指针,然后在该函数中动态申请堆中的内存,以为该指针会传回到 main 函数中,但其实,子函数的形参为指针时,相当于是将主函数中的指针地址赋值给子函数的指针形参,对于该子函数而言,该形参指针相当于是整个程序来说是局部的,仅仅在该子函数中生效,但由于子函数的形参指针和主函数中传递进子函数的指针其实都是某块内存的首地址,在子函数中对该指针指向的内容进行修订时,主函数中也会同时发生相应的变化。但我们这里是要传递回指针本身,所以要么使用函数返回值的形式,要么就要使用指向指针的指针。
- 正确的写法可以是下面的两种:
(1)在创建二叉树的时候使用返回值的方式:
(2)在创建二叉树的时候使用指向指针的指针:
阅读全文
0 0
- 由于指针问题导致的二叉树遍历出问题
- 由于节点2的redo出问题,导致节点2实例不能mount。
- 由于JDK版本问题导致的错误
- 由于ADT升级后导致的问题
- 一个由于位数导致的问题
- 二叉树的遍历问题
- 二叉树的遍历问题
- 二叉树遍历的问题
- 由于js对象浅拷贝导致的遍历出错
- 由于未分配内存的指针导致段错误
- 跟进问题“在每个节点中填充下一个正确的指针”。层次遍历二叉树
- delete 一个dll中的类指针时,由于是否显示声明virtual 析构函数导致的问题 (英文解答)
- 二叉树遍历问题
- 二叉树遍历问题
- 二叉树遍历问题
- 关于二叉树遍历的问题
- 二叉树的遍历问题总结
- 二叉树的先序中序后序遍历问题
- Linux vim 入门
- kafka本地java示例生产者与消费者,非ZK版
- 接口测试基础-4-fiddler工具介绍和应用
- MVP架构的分析
- js闭包
- 由于指针问题导致的二叉树遍历出问题
- C#怎样在DataTable中使用linq查询
- 记录一次失败的流水灯实验
- 机器学习课堂笔记4
- c++11新特性总结
- KVM内存虚拟化 & EPT
- Reverse or rotate? -- 6 kyu
- 设计模式_创建形模式优缺点比较(8)
- 找出2个链表的第一个公共结点。