C 这两个指针之间有什么区别
在链表中,我遇到了以下结构C 这两个指针之间有什么区别,c,pointers,structure,C,Pointers,Structure,在链表中,我遇到了以下结构 struct node { int data; struct node *next; }; struct node *list; list和next之间有什么区别?>这两个指针之间没有区别,它们都是引用 并存储对象的地址。 但是*next作为结构的变量,而另一个指针作为结构的对象。首先,在显示的代码段中,只有一个指针“存在”,即列表 然而: list是指向struct节点的指针的实例。它使用内存 next是类型struct node和指
struct node
{
int data;
struct node *next;
};
struct node *list;
list
和next
之间有什么区别?>这两个指针之间没有区别,它们都是引用
并存储对象的地址。
但是*next作为结构的变量,而另一个指针作为结构的对象。首先,在显示的代码段中,只有一个指针“存在”,即
列表
然而:
list
是指向struct节点的指针的实例。它使用内存
next
是类型struct node
和指向struct node
的类型指针定义的一部分<代码>下一步
不是指针的实例。它不使用内存
它们都是指向结构节点的指针
但区别在于next
是结构的成员,而list
是对象
这意味着您可以使用list
作为
list->data;
但是要使用下一步
,您需要使用
list->next->data;
或
也就是说,它的行为就像需要对象一样,就像结构的任何其他成员一样
您可以参考此指针列表和下一个指针都指向节点结构
主要区别在于:
列表不是结构节点的一部分,其中asnext是结构节点的一部分
您是指list
指针和next
指针之间的区别吗?您所说的“指针实例”是什么意思?它们都是指向结构节点的指针
列表
使用内存,下一步
不使用内存@AlejandroDíaz他们不是都使用sizeof(struct node*)
<代码>结构节点*列表代码>没有分配任何内存。不,next
只是定义的一部分。由于代码处于next
(以及data
)状态,因此不会占用任何内存。list->next
使用的内存量与list
相同@亚历杭德罗·迪亚扎斯:答案是不正确的。next
的实例引用的是struct节点
而不是struct节点
,这同样适用于列表
,区别在于引用的是struct节点
,但是不仅仅如此。@alk但是list
不是一个struct节点
,它还引用一个struct节点
。这两个都是引用,但接下来帮助我们创建一个链接列表,列表引用的行为就像一个head。
struct node a;
a.next->data;