linux c语言链表的简单应用之创建链表

本文详细介绍了一个使用C语言实现的链表操作案例,包括链表的创建、数据输入及打印输出等功能。通过具体代码展示了如何利用结构体和指针进行链表的动态内存管理。

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

/* ************************************************************************
* Filename: link.c
* Description:
* Version: 1.0
* Created: 2011骞?4鏈?9鏃?17鏃?2鍒?3绉?
* Revision: none
* Compiler: gcc
* Author: wen hao (WH), hnrain1004@gmail.com
* Company: sunplusapp
* ***********************************************************************
*/


#include
<stdio.h>
#include
<stdlib.h>
#include
"link.h"

#define LEN sizeof(struct stu)
//声明结构体
typedef struct stu
{
int num;
char name[10];
struct stu *next;
}TYPE;

//链表创建函数,返回类型为结构体指针类型
TYPE * create(int n)
{
TYPE
*head,*prev,*curre;
int i;

for(i = 0; i < n; i++)
{
curre
= (TYPE *)malloc(LEN);//申请空间
printf("input number and name:\n");
scanf(
"%d %s",&curre->num,curre->name);//等待用户输入数据

if(i == 0)
prev
=head=curre;
else
prev
->next=curre;
prev
=curre;
}
curre
->next =NULL;
return head;
}

//打印输出函数,形参为链表头指针
void print(TYPE *head)
{
printf(
"\nthe link message is :\n");
printf(
"number \t\tname \n");
while(head!=NULL)//如果没有指向链表尾就一直打印
{
printf(
"%d\t\t%s\n",head->num,head->name);
head
=head->next;
}
printf(
"\n");
}

int main(void)
{
TYPE
*head;//定义结构体变量
head = create(3);//创建链表
print(head);//打印链表

return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值