Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.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++ 我可以将第三行中的节点更改为node_new或其他内容吗?_C++_Data Structures_Linked List - Fatal编程技术网

C++ 我可以将第三行中的节点更改为node_new或其他内容吗?

C++ 我可以将第三行中的节点更改为node_new或其他内容吗?,c++,data-structures,linked-list,C++,Data Structures,Linked List,这是用于在链表中定义结构的代码。我们可以用node_new*next或其他东西替换第三行中的node*next吗 我们可以将第三行中的node*next替换为node\u new*next或其他内容吗 保持结构的其他部分不变,不会,因为它无法实现您可能想要的 您需要了解结构的含义: struct node { int data; node *next; }; 你可以。但现在它不再指向另一个节点。我怀疑的是,我觉得它本身就是某种递归。我们正在定义包含一些数据和指向节点本身的指针的结构节点。这怎么

这是用于在链表中定义结构的代码。我们可以用node_new*next或其他东西替换第三行中的node*next吗

我们可以将第三行中的
node*next
替换为
node\u new*next
或其他内容吗

保持结构的其他部分不变,不会,因为它无法实现您可能想要的

您需要了解结构的含义:

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

你可以。但现在它不再指向另一个
节点
。我怀疑的是,我觉得它本身就是某种递归。我们正在定义包含一些数据和指向节点本身的指针的结构节点。这怎么可能?它不是递归的。一旦知道对象类型的名称,就可以创建指向对象的指针。定义甚至不需要出现<代码>结构节点;节点*p=nullptr是完全有效的。这里也是一样。用谷歌搜索一下“不完整类型”。它们不能用作自身,但允许使用指向它们的指针。正如您所做的,它通常是这样做的(即使是在C中)。如果有两个
struct
s相互引用,“转发声明”有助于生成“不完整类型”。
struct node     // this is the type of the node
{
   int data;    // data of node
   node *next;  // pointer to the next node (thus the type has to match)
};