我是新來的指針,有這種代碼合併排序的鏈接列表。在這裏它已經聲明一個虛擬節點爲struct node dummy;
,虛擬節點的下一個節點爲NULL,所以要設置它我們使用dummy.next = NULL;
。struct node和struct node *之間的' - >'有什麼區別?
/* Link list node */
struct node
{
int data;
struct node* next;
};
struct node* SortedMerge(struct node* a, struct node* b)
{
/* a dummy first node to hang the result on */
struct node dummy;
/* tail points to the last result node */
struct node* tail = &dummy;
/* so tail->next is the place to add new nodes
to the result. */
dummy.next = NULL;
//Code continues...
}
我知道我可以使用它,如果它是struct node *dummy;
,但因爲它不是一個指針節點,我們不能在這裏使用它。 所以我的問題是爲什麼dummy->next = NULL
在這裏工作? 和struct node和struct node *之間的區別是什麼?
虛擬不是一個指針,所以' - >'不起作用。 ' - >'僅用於指針。 – juanchopanza
所以基本上你會問指針和普通變量之間的區別嗎? – ameyCU