建立空二叉树
status InitBitree(Bitree *T){
*T=NULL;
return OK;
}
建立二叉树
void CreateBiTree(BiTree *T)
{
TElemType ch;
#ifdef CHAR
scanf("%c",&ch);
#endif
#ifdef INT
scanf("%d",&ch);
#endif
if(ch==Nil) /* 空 */
*T=NULL;
else
{
*T=(BiTree)malloc(sizeof(BiTNode));
if(!*T)
exit(OVERFLOW);
(*T)->data=ch; /* 生成根结点 */
CreateBiTree(&(*T)->lchild); /* 构造左子树 */
CreateBiTree(&(*T)->rchild); /* 构造右子树 */
}
为什么这里T已经等于NULL了还能有T->lchild? 初学者有点迷