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

 
  
/* ************************************************************************
* 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 ;
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值