C语言 创建单链表

废话不多说直接上代码

注意传参 使用的是指针的指针,否则链表得不到初始化和创建。对用指针作为参数,且要改变实参指针指向,不懂的同学可以参考这篇博客的最下面部分https://blog.csdn.net/qq_54628272/article/details/122778928?spm=1001.2014.3001.5501

#include<stdio.h>
#include<malloc.h>
typedef struct lnode
{
	int data;
	struct lnode *next;
}lnode,*linklist;
void initlist( lnode **L)
{
	(*L)=(lnode *)malloc(sizeof(lnode));
    (*L)->data=0;
	(*L)->next=NULL;
}
void creatlist(struct lnode **L)
{
	lnode *s,*r;
	int e,i=1;
	r=(*L);
    while(i<4)
    {
    	printf("请输入值\n");
    	scanf("%d",&e);
    	s=(lnode *)malloc(sizeof(lnode));
	    s->data=e;
    	s->next=r->next;
    	r->next=s;
    	r=s;
    	i++;
	}
	printf("构造完成\n");
}
int main()
{
	linklist L;
	initlist(&L);
	creatlist(&L);
	lnode *p=L->next;
	while(p!=NULL)
	{
		printf("%d ",p->data);
		p=p->next;
	}
	//printf("%d",L->data);
	return 0;
}

运行结果

C语言 创建单链表

上一篇:说说Python 单引号、双引号、三引号的区别?


下一篇:第二章线性表——链式存储结构(3)