我在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