C语言 如果链表没有添加任何内容,并且您尝试打印该变量,则链表如何工作



我有一个链表,最后想把它打印出来。我的问题是,如果结构中的链表变量保持不变并且没有添加到列表中,如果我尝试使用 while(school->list!= NULL) 打印,这会起作用吗?

注意:我在任何时候都没有将列表设为空,我只是分配了名称,没有触及列表。

struct School{
    char *name;
    Student *list;   <--- Linked list
} School;

struct Student{
    char *name;
    Student *next; 
} Student;

现在,如果我想打印此列表,这会起作用吗?

编辑:我(school->student != NULL)更改为(school->list != NULL)

请参阅此示例以打印列表:

#include <stdio.h>
#include <stdlib.h>
struct test{
     int code;
     struct test *next;
};
void pri(struct test *); // As you dont whant to change the values of list.
void cre(struct test **);// This put list at the start
int main(void){
   struct test *head;
   head = NULL; // you start from null.
   cre(&head,5);
   cre(&head,10);
   pri(head);   
   return 0;
}
void cre(struct test **head,int x){
     struct test *tmp;
     tmp = malloc(sizeof(struct test));
     tmp->code = x;
     tmp->next = (*head);
     (*head) = tmp;

}
void pri(struct test *head){
     while(head){ // while we dont reach end of list.
          printf("%d ",head->code);
          head = head->next; // Go to our next element
    }
    printf("n");
}

我希望这个程序能帮助你打印列表。如果我们在末尾等列表中插入一个元素,这当然有效。在你的论文上画画,以更好地理解列表。

相关内容

  • 没有找到相关文章

最新更新