【发布时间】:2020-10-21 19:41:40
【问题描述】:
我刚开始学习数据结构,今天我观看了一个关于 C 语言 LinkedList 的视频。由于我在课堂上学到的知识,我可以理解大部分解释的内容,但我无法理解一个东西。
在视频中,它被解释为,我们创建一个节点结构,然后我们为它分配内存。假设我们在其中有 2 种数据类型,即整数和指针。假设我们有 5 个这样的节点,每个指针都保存下一个节点的地址。到目前为止没有任何问题。但我无法理解的是,每当我们调用函数时,这个指针如何保持下一个元素的地址。它如何通过可能位于头节点和我们寻找的另一个节点之间的其他元素?如果有人能解释一下,那就太好了。
谢谢。
【问题讨论】:
-
程序终止或您
freed 内存时,指针不会立即保留地址。但是当程序运行时,指针有它的值,所以它指向系统分配的那个内存位置。因此,每次调用该函数时,它都会取消对该 mem 的引用。地址。 -
假设它以
head->next->next->int开头。所以,这里它从head传递到包含另一个内存地址的next,所以它移动到next地址等等,然后你找到你的int并停止。 结论:它从head开始,通过next指针指向存储你的值的pointer。
标签: c list pointers structure dev-c++