C语言链表:链表的相关函数(节点的计算,增加,删除节点)

本文介绍了C语言中链表的基本结构,通过头指针连接一系列节点,每个节点包含数据域和指针域。讨论了链表的实现原理,并详细阐述了如何定义和实现链表的相关函数,包括创建、添加和删除节点的方法。
摘要由CSDN通过智能技术生成
1.链表的简单结构:

头指针(head),若干个节点(节点包括了数据域和指针域),最后一个节点要指向空。

2.实现原理:头指针指向链表的第一个节点,然后第一个节点中的指针指向下一个节点,然后依次指到最后一个节点,这样就构成了一条链表。

3.链表的数据结构

typedef struct node
{
	void*data;//数据域
	struct node* pNext;//指针
}NODE_T;
4.链表的相关函数
extern NODE_T* pHead;
NODE_T* List_init(void* pData)//初始化链表
{
  NODE_T* pHead = (NODE_T*)malloc(sizeof(NODE_T));//分配内存空间
  memset(pHead,0,sizeof(NODE_T));//清空
  //当头指针为空
  if(NULL==pHead)
  {
  printf("error\n");
  }
  else
  {
  pHead->data = pData;//指向数据域
  pHead->pNext = NULL;//下一个阶段指向为空
  }
  return pHead;
}
NODE_T* List_add(void* data,NODE_T* head)//增加链表节点
{
  NODE_T* pTmp;
  NOED_T* newNode =  (NODE_T*)malloc(sizeof(NODE_T));
   memset(newNode,0,sizeof(NODE_T));//清空
   newNode ->data = data;//添加赋值
   if(head==NULL)//头节点为空
   {
   he
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值