如果我有一个结构,看起来像这样:困惑访问二叉树节点的内容与指针
struct node
{
int key_value;
struct node *left;
struct node *right;
};
而且我有一个看起来像这样的搜索功能:
struct node *search(int key, struct node *leaf)
{
if(leaf != 0)
{
if(key==leaf->key_value)
{
return leaf;
}
else if(key<leaf->key_value)
{
return search(key, leaf->left);
}
else
{
return search(key, leaf->right);
}
}
else return 0;
}
为什么里面搜索功能,在与叶子比较值时,不要这样做:
key < (*leaf)->key_value
完成key < leaf->key_value
是不是一个指针?所以我们首先需要解引用指针然后访问值?
所以,我们传递一个地址给函数,我们应该首先获取指向该地址的内容,然后获取值(key_value)是否正确?
' - >'做了提领... – Pubby 2013-02-14 11:42:21