typedef struct node{}*tree;
typedef struct node{}tree;
声明后,用这两种定义Tree t有何不同?
当使用typedef struct node{}*tree;时,若需要声明一个void Create_pro()函数,作用是创建一棵树,主函数中采用Create_pro(&t)来调用,那声明时是用Create_pro(Tree t),还是Create_pro(Tree *t)呢?
其他网站给的函数声明是Create_pro(Tree *t),为什么呢?
C语言里,若你想通过某函数改变某变量,那么你应该传入该变量的指针,而不要管你要改变的这个变量到底是个指针还是个其他什么玩意。
你的定义,tree是node指针类型
tree top = NULL;
但你希望通过Create_pro函数修改这个top变量,让top指向一棵树的树根,那么当然应该传入top的地址。