关于二叉树创建时结构体指针的用法
在创建二叉树时我们常常这样用typedef声明一个结点类型和一个二叉树链表:
typedef struct BiNode{ //二叉链表定义
char data;
struct BiNode *lchild,*rchild;
}BiTNode,*BiTree;
这里用typedef声明了一个结点类型BiTNode,BiTree在这里是一个结构体指针。
在创建一个二叉树时我们常常这样定义一个创建函数:
在这个创建二叉树函数中传入的参数为BiTree &T,也就是说要传入一个结构体指针的指针给函数CreateBiTree,我的问题来了,既然BiTree已经是一个指针类型了,为什么不直接传入BiTree T这样一个一重指针啊,为什么要传入一个指针的指针啊?我知道在软件开发中有时为了避免值传递造成的影响常常向函数传递一个指针就行了,但不明白这里为什么要传递一个二重指针啊?因为BiTree是一个指针类型的修饰符……