初始化创建二叉数的头结点问题
为什么void initiate(bitreenode **root)中要使用指向指针的指针来初始化呢?请给个详细点看法
那为什么做链堆栈时有些需要写void initiate(bitreenode **root),不能写为void initiate(bitreenode *root)
因为我们会修改 *root,但是对一棵树来说,应该要随时能根据根找到整个树,所以要保存一个不能改变的值
那就是 **root.
我们降一级来说.定义一个整型指针 *p.我们可以修改 *p而不至于丢失这个指针,但改变了p了.那就不对了.
如果要修改的是一个地址,那么我们就得保存这个指针的地址.(二级指针).