如果我有一個結構,看起來像這樣:困惑訪問二叉樹節點的內容與指針
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