-2

我正在实现一个二叉搜索树。碰巧我的一个消息来源有一个这样写的函数:

Node * BST_Insert(Node *root, int val)
{
//Body 
}

我已经知道指针是一个包含另一个变量地址的变量,我们不能为指针赋值,但我们可以将另一个变量的地址赋值给指针。

我的问题是这个原型上的指针到底做了什么?

Node * BST_Insert(Node *root,int val) 
4

2 回答 2

2

Node很可能是typedef表示二叉搜索树中节点的结构。

因此Node *root表示一个指向 BST 根的指针,即树结构的句柄。

由于插入新节点可能会改变哪个节点是树的根节点,因此该函数很可能返回一个指向新根节点的指针。

于 2022-01-12T11:44:27.007 回答
1

指针指向返回数据的地址,在这种情况下,您的函数返回 Node 数据类型。例如,如果您的函数返回一个数组,您可以将其声明为函数指针以访问返回数组的地址

于 2022-01-12T11:33:48.847 回答