我在head_insert
的代碼下面附加一個在鏈表頂部插入新節點。該功能用head_insert(head)
調用。鏈接列表,指針操作
我不確定該函數的第一個參數的語法,因爲它已經是一個指針了,所以我期待NodePtr
,請看下面。
爲什麼代碼只使用NodePtr &head
而不是NodePtr head
因爲頭已經是指針了?
void head_insert(NodePtr & head, int the_number)
{
NodePtr temp_ptr;
temp_ptr=new Node;
temp_ptr->data=the_number;
temp_ptr->link=head;
head=temp_ptr;
}
struct Node
{
int data;
Node *link;
};
typedef Node* NodePtr;
爲什麼代碼只使用「NodePtr&head」而不是「NodePtr head」,因爲head已經是指針了? – 2013-02-18 07:52:19
不要用[c]和[C++]標記問題。雖然C++理解C代碼,但在C語言中被認爲是很好的風格在C++中是很少風格的。 – 2013-02-18 07:52:20
@saraMcKnight:這應該是一個編輯,而不是評論。 – 2013-02-18 07:53:30