所以我有一个名为
的全局变量struct * tree root = NULL;
我在名为void init()
的函数中初始化它。
这里的问题是,对于我的任务,我已经获得了void insert()
的ADT,并被迫使用它。但每次我创建一个新节点时,我都不知道如何存储这个值,因为在函数完成后我无法返回一个节点。
答案 0 :(得分:1)
您已经获得了一个插入函数,它应该返回void(也就是没有返回值),但它是否也意味着它不能接受参数?不像你描述的那样。 C中没有参数的函数具有可变数量的参数。如果你指定的声明是void insert(void)
,那么它只能使用全局变量(要插入的新值在全局变量'newval'中)和递归调用的do_insert接受一个值和当前节点。
答案 1 :(得分:0)
不知道这是否在规则中,但如果你声明:
static struct * tree root;
然后它将对源文件中的所有函数可见。
答案 2 :(得分:0)
您能否提供有关树节点结构的更多详细信息?就像左右指针一样吗?还有其他我们应该了解的领域吗?