c+中的指针+;结构名 我为C++链表实现了这段代码。 struct node { int info; struct node *next; }*start;
这意味着有c+中的指针+;结构名 我为C++链表实现了这段代码。 struct node { int info; struct node *next; }*start;,c++,C++,这意味着有*start而不仅仅是start 以后像这样使用会发生什么?s是什么意思,它在函数的其他地方没有被引用 struct node *temp, *s; temp = new(struct node); 碎片 struct node { int info; struct node *next; }*start; 相当于 struct node { int info; struct node *next; }; struct node *start;
*start
而不仅仅是start
以后像这样使用会发生什么?s
是什么意思,它在函数的其他地方没有被引用
struct node *temp, *s;
temp = new(struct node);
碎片
struct node
{
int info;
struct node *next;
}*start;
相当于
struct node
{
int info;
struct node *next;
};
struct node *start;
因此,在第一个片段中,您在一条语句中定义了一个名为node
的结构和一个名为start
的struct node*
类型的变量。就这些
注意,在C++中(与C不同),也可以编写
struct node
{
int info;
node *next;
};
node *start;
i、 e.定义类型为
struct node
的变量时,可以省略struct
-关键字提示:这与您编写的相同:node*start
;之后。所以,如果该声明在类定义之外,则start只是指向节点的无主指针?我不会说无主,但是的,未初始化。我建议忽略此示例struct node{}
创建一个名为node
的类型(与C不同),并且node
可以在不重复struct
或使用typedef
的情况下使用。另外,}*start
声明一个全局变量start
,它是指向节点的指针(忽略此示例的另一个原因)。这就是为什么在struct/class/union
声明之后需要分号的原因-可能存在变量列表。虽然它在C++ + NoVADDE中很少使用。