在说明之前,先来看一个栗子:
1 //前略
2 typedef struct Node {
3 int data;
4 struct Node *lchild, *rchild;
5 } *BiTree;
6 void CreateBiTree (BiTree *T)
7 {
8 char ch;
9 scanf("%c", &ch);
10 if (ch == '#')
11 *T = NULL;
12 else
13 {
14 *T = (BiTree)malloc(sizeof(Node)); //分配空间
15 if (!*T) //如果分配失败
16 exit(OVERFLOW); //内存溢出
17 (*T)->data = ch;
18 CreateBiTree(&(*T)->lchild); //用(*T)->lchild作为新的T,下同
19 CreateBiTree(&(*T)->rchild);
20 }
21 }
1 //前略
2 typedef struct Node {
3