链表的创建 (初学)

#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node * next;
}*P_node,node;
P_node CreateNode(int x)//开辟节点,创建节点
{
P_node q=(P_node)malloc(sizeof(node));//创建节点p,类型为P_node型
q->data=x;//读入数据x
q->next=NULL;//next域初始化
return q;//把q的值带回去返回
}
int main()
{
int x,N,i;
P_node head,tail;
scanf("%d",&N);
head=CreateNode(N);//头指针里面装入N,节省空间
tail=head;//初始时头指针与tail指向头结点
for(i=0;i<N;i++)//输入
{
scanf("%d",&x);
P_node q=CreateNode(x);
tail->next=q;
tail=tail->next;
}
P_node read;//用一个read指针来读指针,并且输出
read=head->next;
while(read)//输出
{
printf("%d ",read->data);
read=read->next;
}
return 0;
}

原文地址:https://www.cnblogs.com/FENGXUUEILIN/p/4390908.html