方便在第1個位置進行插入、刪除操作時同其他位置一樣。加了頭結點之后,插入、刪除都是在后繼指針next上進行操作,不用動頭指針;若不加頭指針的話,在第1個位置插入或者刪除第1個元素時,需要動的是頭指針。例如:在進行刪除操作時,L為頭指針,p指針指向被刪結點,q指針指向被刪結點的前驅,對於非空的單鏈表:
1.帶頭結點時
刪除第1個結點(q指向的是頭結點):q->next(變量)=p->next(值是地址); free(p);
//用到了2個指針變量-若刪除p指向的后繼結點p->next = p->next->next
再free(p->next)::一般q指向刪除結點q=p->next;p->next=q->next;free(q)

刪除第i個結點(i不等於1):q->next=p->next;free(p);
*********************
2.不帶頭結點時
刪除第1個結點時(q為空):L=p->next; free(p);
刪除第i個結點(i不等於1):q->next=p->next;free(p);
結論:帶頭結點時,不論刪除哪個位置上的結點,用到的代碼都一樣;不帶頭結點時,刪除第1個元素和刪除其它位置上的元素用到的代碼不同,相對比較麻煩。