在把指针的地址传到insert里面后,我们就要开始写sub-function—insert来将new node 添加到链表里面了。
以下是code
在把指针的地址传到insert里面后,我们就要开始写sub-function—insert来将new node 添加到链表里面了。
以下是code
在上一章里面提到我们传到insert里面的是一个指针的地址,与其对应的在insert里面就需要一个二级指针作为input。
注意:number *start等于struct Number **start
为什么需要二级指针呢?
在我们的例子里面,我们需要的是创造一个链表,所以我们需要改变指针的地址,需要二级指针。
这里我想表达的是:持续输入数字直到0停止,这里将用到while循环直到输入结束
在这里我们需要新建一个列表的头(start)并将其设置为NULL,注意这个start是被定义为一个指针的。
可以看到这里出现了insert,这是我们需要写出的一个sub-function来帮助我们添加node到list里面。在这个sub-function里面,我们需要的是输入start的地址(指针的地址,具体原因将在下一章说明)和我们需要添加到list上的值。
动态链表已经折磨了我好久,最近终于搞明白了一点点orz,以下是我认为的一些让我困惑很久的地方的解析。
如果有什么错误的地方,欢迎大家指教!
这是一个结构体,注意最后的分号!
结构体里面包含一些你需要的数据/变量和一个必须有的同名结构体的指针,这个指针的作用是指向下一个结构体。
首先将结构体命名为number1,然后再将结构体指针定义为number,这样将会方便我们后来要用到的二级指针。