这两个指针之间有什么区别

问题描述 投票:-2回答:4

在链接列表中,我遇到以下结构

struct node
{
    int data;
    struct node *next;
};      
struct node *list;

listnext有什么区别?

c pointers structure
4个回答
1
投票

>这两个指针之间没有区别,都是指针并存储对象的地址。但是* next充当结构的变量,另一个指针充当Struct的对象。


1
投票

这里显示的所有片段中的第1个仅“存在” one指针,即list

但是:

  • list是指向struct node的指针的实例。它使用内存。

  • nextstruct node类型的定义的一部分,并且是指向struct node的类型的指针。 next不是指针的实例。它不使用内存。


1
投票

它们都是struct node的指针。

但是不同之处在于next是结构的成员,而list是对象。

这意味着您可以将list用作

list->data;

但是要使用next,您需要使用

list->next->data;

struct node a;
a.next->data;

也就是说,它的行为就像需要一个对象一样,与该结构的任何其他成员一样。

您可以参考此code


0
投票

两个指针列表和下一个都指向节点结构。

主要区别是:

list不是结构节点的一部分,其中next是结构节点的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.