我是编程新手所以请耐心等待。任何人都可以解释最后一行代码正在做什么以及整个代码块试图做什么。我知道第一个块正在创建一个名为node的结构,并添加两个指针* next和* prev。顺便说一下,这是链接列表程序的一部分
struct node
{
char line[80];
struct node *next,*prev;
};
struct node *start=NULL,*temp,*temp1,*temp2,*newnode;
提前谢谢。
答案 0 :(得分:6)
struct node *start=NULL,*temp,*temp1,*temp2,*newnode;
可以是
struct node *start=NULL;
struct node *temp;
struct node *temp1;
struct node *temp2;
struct node *newnode;
现在很容易理解......?
答案 1 :(得分:4)
最后一行是创建5个struct node
类型的指针,即start
,指向NULL
,temp
,temp1
,temp2
和newnode
。
整个代码块实际上是创建一个名为node
的结构,其中包含一个包含80个字符的数组,后跟指向next和previous的指针。因此,它正在为双向链表创建一个结构。
答案 2 :(得分:2)
最后一行是创建5个struct struct节点的指针。这里的开始是初始化为Null。
答案 3 :(得分:2)
最后一行代码定义了5个变量,所有变量都是指向struct node
的指针。其中一个start
被初始化为NULL;如果变量在任何函数之外,其他的也被初始化为NULL,但如果它们在函数内部则未初始化。未初始化的指针应在使用前初始化。空指针不应该被取消引用;疯狂位于空指针的末尾(或者更常见的是核心转储)。