c语言数据结构中学线性表时的函数参数

为什么学数据结构线性表时链表的好多形参都要写成例如:
void InitList(LinkNode * &L){}
而不是
void InitList(LinkNode *L){}
上一个的优点是什么呀
下面那个也可以通过形参改变实参的吧