Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 这两个指针之间有什么区别_C_Pointers_Structure - Fatal编程技术网

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;