| 
 | 
 
2鱼币 
 typedef struct BiTNode     -------》这里有一个BiTNode 
{ 
      Elemtype data; 
      struct BiTNode *lchild, *rchild; 
} BiTNode, *BiTree;       ---------->为什么这里又有一个BiTNode 
 
问题一: 
以这个二叉树的数据结构为例,为什么上面有一个BiTNode,然后下面又有一个BiTNode? 
typedef 不是应该给某个数据类型起别名吗?为什么会起的别名和原名是一样的? 
问题二: 
我的理解是 BiTree 是定义指向BiTNode这种结点的的指针, 
如果是这样的话,以下2种定义指针的方法有什么区别呢? 
BiTNode *a; 
BiTree b; 
这2种定义的指针 a 和 b 不都是指向BiTNode 的指针吗?应该没有区别吧? 
如果按照这个思路想的话,BiTree有存在的必要吗?
后面的BiTnode可以无视,不写也没关系 
typedef int int;是符合语法格式的 
BiTNode *a; 
BiTree b; 
确实是一样的 
BiTree就是*BiTNode的封装,只是为了增加程序可读性 
如果回答解决了问题,请设置最佳答案,谢谢 
 
 
 |   
 
 
最佳答案
查看完整内容 
后面的BiTnode可以无视,不写也没关系
typedef int int;是符合语法格式的
BiTNode *a;
BiTree b;
确实是一样的
BiTree就是*BiTNode的封装,只是为了增加程序可读性
如果回答解决了问题,请设置最佳答案,谢谢 
 
 
 
 
 
 
 |