#include<stdio.h>
#include<stdlib.h>
typedef struct s
{
int num;
struct s *next;
}node ,*pnode;
void creat(pnode head)
{
pnode p=head,q;
int i,n;
printf("Enter the size:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
q=(pnode)malloc(sizeof(node));
printf("\nEnter the num:\t");
scanf("%d",&q->num);
p->next=q;//链接新建节点
p=q;//指针指向新建节点
}
p->next=NULL;
}
void display(pnode head)
{
pnode p;
p=head->next;
for(;p!=NULL;p=p->next)
printf("\n the num :%d",p->num);
}
int main()
{
pnode head=(pnode)malloc(sizeof(node));
head->next=NULL;
creat(head);
display(head);
}
//或者int main 部分换掉成如下:
void init(pnode *L){
(*L) = (pnode)malloc(sizeof(node));
(*L)->next = NULL;
}
int main(){
pnode L;
init(&L);
creat(L);
display(L);
}
//或者如下
void init(node *L){
L = (pnode)malloc(sizeof(node));//此处L类型为指针,不同于在main中的(为结构类型):node *L,另外例子:https://blog.csdn.net/DayDayDraem/article/details/88774972
L->next = NULL;
}
int main(){
pnode L;
init(&L);
creat(&L);
display(&L);
}
c语言