初学链表———单向链表创建

初学链表之单向链表创建

链表是由一个个节点构成的,而每一个节点都可以看成两个部分组成,分别是数据域和指针域,链表是由不是连续的地址空间组成的非线性存储结构,字面意思,他们不是一个连串的地址空间,那么我们想让他们能被顺序访问,就得用指针来分别访问他们的地址空间,这就是指针域的功能
创建结构体类型

typedef struct Link{
	int data;
	struct Link *next; 
}link;

现在初始化一个链表,里面是1-10的数值
并且在链表里进行插入,删除等基本操作

#include<stdio.h>
#include<malloc.h>

typedef struct Link{
   
	int data;
	struct Link *next; 
}link; 
//初始化一个新链表 
link *newlink(){
   
	link *head,*end;//定义头尾节点 
	head=end=(link*)malloc(sizeof(link));//随机分配一个link*类型,link大小的地址空间 
	int i;
	for(i=1;i<10;i++){
   
		link *a=(link*)malloc(sizeof(link));//给每个普通节点分配一个link*类型,Link大小的地址空间 
		a->data=i;//数据域赋值 
		a->next=NULL;//该节点的指针域指向的是NULL值,不然随机指向很危险,会成为一个野指针,可能造成致命错误。也给最后一个节点指针域赋值NULL 
		end->next=a;//用于连接节点,此时的end是head的地址,他的指针域指向这里的a节点,将此时的a节点和head节点相连起来 
		end=a;
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值