#include<stdio.h>
#include<iostream>
#include<malloc.h>
typedef struct node
{
unsigned char elem;
node* next;
};
void print_linklist(void);
void create_list(unsigned char elem);
node* head = NULL;
node* tail = NULL;
void create_list(unsigned char elem)
{
node* p = (node*)malloc(sizeof(node));
p->elem = elem;
p->next = NULL;
if (head == NULL)
{
head = p;
}
else
{
tail->next = p;
}
tail = p;
}
void print_linklist(void)
{
struct node* p;
for (p = head; p; p = p->next)
printf("%c", p->elem);
printf("\n");
}
请问一下大家,这段代码中的head不是一直等于第一次创建的p吗?那它的next不是一直为NULL吗,那为什么后续可以通过head里的next来不断访问后续的内容呢?看了半天实在 不明白,希望xdm看看,谢谢!