C语言 遍历链表的 1



每次我们在堆中为链表分配内存时,我们都会得到一个地址,这个地址链接到链表的下一个变量,而head是一个指针,指向链表的初学者节点。

如果我们这样做head = head + 1那么它指向下一个链表,或者它指向堆的随机内存,或者它指向堆中初学者列表的下一个内存。

它指向第一个元素后面的内存区域,您不应该访问该内存区域。

我认为您将数组的概念与链表混淆了。如果你使用数组,那么head = head + 1会给你数组中的下一个元素。但是在链表上,每个成员在内存中都有不同的位置,获取该位置的唯一方法是取消引用前一个元素的next成员

如果我们做 head = head + 1,那么它指向下一个链表,或者它指向堆的

随机内存,或者它指向堆中初学者列表的下一个内存。

假设head最初指向正确类型的有效对象,则在该语句之后,head指向它最初指向的对象末尾。 这可能会也可能不会使它成为指向下一个节点的指针,具体取决于许多因素,其中一些因素不受您的控制,但通常head的新值不是指向下一个节点的指针。

加法运算不知道head最初指向的对象的重要性。 对于任何类型的指针,此操作都相同。

相关内容

  • 没有找到相关文章

最新更新