为什么在链表的节点中使用的指针是struct node类型而不是data.node?

为什么在链表的节点中使用的指针是struct node类型而不是data.node?,c,struct,scope,declaration,C,Struct,Scope,Declaration,下面是表示节点的结构声明 struct Node { datatype data; struct Node *next; } 在该声明的C中(您忘记放置分号) 存在声明的类型说明符结构节点。没有声明类型说明符节点结构节点和节点不等效 要引入名称节点作为类型说明符结构节点的别名,可以编写 typedef struct Node Node; struct Node { datatype data; Node *next; }; 在C++中,你可以

下面是表示节点的结构声明

  struct Node
{ 
     datatype data;
     struct Node *next;
}
在该声明的C中(您忘记放置分号)

存在声明的类型说明符
结构节点
。没有声明类型说明符
节点
<代码>结构节点和
节点
不等效

要引入名称
节点
作为类型说明符
结构节点
的别名,可以编写

typedef struct Node Node;

struct Node
{ 
     datatype data;
     Node *next;
};
在C++中,你可以写< /p>
struct Node
{ 
     datatype data;
     Node *next;
};
<>从C++ 17标准(12类)

2类名称插入到声明它的作用域中 在看到类名之后类名也是 插入到类本身的范围中;这被称为 注入的类名

C和C++是两种不同的语言,它们的规则常常不一致。


<>例如,在C中,你可以写一个表达式,如“代码> sisiof(StuttA{int x;})< /C>),而在C++中,这样的表达式无效。

你是什么意思?<代码>数据类型>节点>代码>如果包含< <代码>节点< /代码>,包含< <代码>节点< /代码>,<代码>节点< /代码>的大小是什么?它包含一个
节点
,它包含一个
节点
,它包含一个
节点
,它包含一个
节点
struct Node
{ 
     datatype data;
     Node *next;
};