为什么第一空是**,第三空为什么要加地址符,他不是指针吗,*head不可以吗

img

img

从CREATLIST的函数体中可以看到有*phd的调用,所以phd应该是一个linklist的二级指针
所以第一个空是两个星,第三个空是取地址


这是C语言中一种很典型的解决方法,因为你的main函数有一个指针变量,你想在另一个函数(createList)中改变这个指针指向的位置,只能是传入指针变量的地址,然后createList接受一个二级指针,让二级指针的内容(也就是main的head,一个一级指针)指向自己动态分配的空间