C语言链表的概念-转发自苹果IOS开发者播客

本文介绍了链表的基本操作,包括建立链表、查找输出、插入删除等,并通过具体实例展示了如何使用C语言创建包含学生数据的链表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链表的基本操作对链表的主要操作有以下几种:
 建立链表;
 结构的查找与输出;
 插入一个结点;
 删除一个结点;z
 下面通过例题来说明这些操作。
 【例】建立一个三个结点的链表,存放学生数据。为简单起见, 我们假定学生数据结构中只有学号和年龄两项。可编写一个建立链表的函数creat。程序如下:

     #define NULL 0
     #define TYPE struct stu
     #define LEN sizeof (struct stu)
     struct stu
         {
           int num;
           int age;
           struct stu *next;
         };
     TYPE *creat(int n)
     {
         struct stu *head,*pf,*pb;
         int i;
         for(i=0;i<n;i++)
         {   
           pb=(TYPE*) malloc(LEN);
           printf("input Number and  Age\n");
           scanf("%d%d",&pb->num,&pb->age);
           if(i==0)
           pf=head=pb;
           else pf->next=pb;
           pb->next=NULL;
           pf=pb;
         }
         return(head);
     }



 

 在函数外首先用宏定义对三个符号常量作了定义。这里用 TYPE表示struct stu,用LEN表示sizeof(struct stu)主要的目的是为了在以下程序内减少书写并使阅读更加方便。结构stu定义为外部类型,程序中的各个函数均可使用该定义。
creat函数用于建立一个有n个结点的链表,它是一个指针函数,它返回的指针指向stu结构。在creat函数内定义了三个stu结构的指针变量。head为头指针,pf为指向两相邻结点的前一结点的指针变量。pb为后一结点的指针变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值