数据结构链表初始化,有点看不懂c语言这种写法。教教我为什么要这么写
定义的二维指针,存放的是一维指针地址,*head就是二维指针的值,而这个值还是一个指针
**head是个指针的指针
或者叫做二级指针
如果仅从函数内部考虑,用一级指针和用二级指针完全没有区别
但因为函数没有返回值,那么动态申请的内存在函数外面应该怎么访问呢,地址丢了
所以申请了二级指针,这样二级指针本身的地址不变,改变的只是它一级指向的地址
*head是双指针,表示指针head的指针,也可以不用双指针,用单指针就好
因为你需要修改Head的指向,直接传head,是形参没法修改指向,所以要通过指针修改其指向,而head是指针类型,对*head取址,就是**head