情景
List *L;
insert(&L);//初始化insert(List **L)
问题
初始化中 为什么要双重指针?
解答
意思是:你想通过函数来改变L的值,但是L是指针类型,所以你要改变它的值就要传L的地址进去,因为双重指针的意思就是指向指针的指针,就是指针的地址,那么**L就是指向指针L的地址,那么通过函数调用双重指针就能改变指针L的值。
道理就是:要传递变量的地址才能使变量的值发生变化.现在的变量是指针型,所以要传指针类型的地址,也就是双重指针。
扩展
还有一种方式不用双重指针来达到同样的效果利用“引用”关于指针和引用的区别可参考c++指针和引用的区别
List *L;
insert(L);//初始化insert(List *&L)