文章参考:https://blog.csdn.net/qq_43244452/article/details/82824600
定义链表节点,
typedef struct NODE
{
int data;
struct NODE *next; //或则是Node*next(在GCC中也是可以编译的正常使用);
}Node,*LinkList;
其中Node *P完全等价与LinkList P;
代码:可以尝试使用Node*替换LinkList。
#include<stdio.h>
typedef struct NODE
{
int data;
struct Node *next;
}Node,*LinkList;
LinkList LLCreate(const int n)
{
int i;
LinkList head;
Node *p;
head = NULL;
for(;i<n;i++)
{
p = (Node*)malloc(sizeof(Node));
if(NULL==p)
printf("err");
printf("next link date \n");
scanf("%d",&p->data);
p->next = head;//向头插入节点。
head = p;
}
printf("iput date over\n");
return head;
}
void Printf_Link(LinkList head)
{
LinkList P;
P=head;
printf("link date: \n");
for(;P;P=P->next)
printf("%d",P->data);
printf("\n");
}
void main()
{
LinkList Head;
int num;
printf("please input link count\n");
scanf("%d",&num);
Head = LLCreate(num);
Printf_Link(Head);
}
程序运行结果
链表有5个节点,分别是12345,因为是向头部插入节点,
最后输出是:54321
本人一个菜鸟,有什么不对的地方,望大神指导。