C语言的简单结构程序



我是一个编程新手,所以请原谅我。谁能解释一下最后一行代码在做什么,以及这一整块代码要做什么。我知道第一个块是创建一个名为node的结构,并添加两个指针*next和*prev到它。顺便说一句,这是链表程序的一部分

struct node
 {
  char line[80];
  struct node *next,*prev;
 };
struct node *start=NULL,*temp,*temp1,*temp2,*newnode;

提前感谢。

struct node *start=NULL,*temp,*temp1,*temp2,*newnode;

可以写成

struct node *start=NULL;
struct node  *temp;
struct node *temp1;
struct node *temp2;
struct node *newnode;

现在很容易理解…?

最后一行创建了5个类型为struct node的指针,即start,它指向NULL, temp, temp1, temp2newnode

整个代码块实际上创建了一个名为node的结构体,它包含一个80个字符的数组,后面跟着指向next和previous的指针。因此,它正在为一个双重链表创建一个结构。

最后一行创建了5个struct node类型的指针。这里start初始化为Null

最后一行代码定义了5个变量,它们都是指向struct node的指针。其中一个start初始化为NULL;如果变量在任何函数之外,其他变量也初始化为NULL,但如果它们在函数内部,则不初始化。未初始化的指针在使用之前应该初始化。空指针不应该被解引用;疯狂存在于空指针的末尾(或者,更常见的是,一个核心转储)。

最新更新