二叉树中这样创建不对吗
#ifndef g1_h#define g1_h#include<stdio.h>#include<stdlib.h>typedef struct node{ char e; struct node *lchild,*rchild;}BiTNode,*BiTree;void InitTree(BiTree tree){ tree=NULL;}void DestroyTree(BiTree tree){ if(tree){ if(tree->lchild) DestroyTree(tree->lchild); if(tree->rchild) DestroyTree(tree->rchild); free(tree); tree=NULL; }}BiTree CreateTree(BiTree tree){ char ch; fflush(stdin); scanf("%c",&ch); if(ch=='#') tree=NULL; else{ if(!(tree=(BiTNode*)malloc(sizeof(BiTNode)))) exit (0); tree->e=ch; CreateTree(tree->lchild); CreateTree(tree->rchild); } return tree;}void Empty(BiTree tree){ if(!tree) printf("the tree is empty:\n"); printf("the tree is not empty:\n");}#endif#include"g1.h"#include<stdlib.h>#include<stdio.h>void main(){ BiTree tree; tree=(BiTNode*)malloc(sizeof(BiTNode)); InitTree(tree); printf("input the root of tree:\n"); CreateTree(tree);}