二叉数的建立,子节点与根节点是怎么连起来??想不明白,求助各位.程序如下:
#include <stdio.h>
#include <malloc.h>
#define MAX 100
typedef struct BTNode
{
char data;
struct BTNode *lchild;
struct BTNode *rchild;
} BTNode, *BiTree;
void CreateBiTree(BiTree *T) /* 先序遍历创建一棵二叉树 */
{
char ch ;
ch = getchar();
if(ch == '#')
(*T) = NULL;
else
{
(*T) = (BiTree)malloc(sizeof(BTNode));
(*T)->data = ch;
CreateBiTree( &(*T)->lchild );
CreateBiTree( &(*T)->rchild );
}
}
&(*T)->lchild :表示什么意思,不就是结点的地址吗
*T=&(*T)->lchild 后,然后(*T) = (BiTree)malloc(sizeof(BTNode));
*T的指向改变了,又怎么与子接点相连呢?
请各位指点,谢谢