我是靠谱客的博主 精明抽屉,最近开发中收集的这篇文章主要介绍C语言单链表和结构体的结合,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

链表与结构体的结合,可以很好的方便输入输出,以后使用链表时只需要将结构体的信息稍作修改就可以使用,非常方便!!!
下面是写学生学号和姓名的结构体与链表的结合create函数!
1#include “stdio.h”
2
3typedef struct node{
4 int number;
5 char name[20];
6 }node;
7
8 typedef struct student{
9 node information;
10 struct student *next;
11 }student;
12
13 int iCount;
14
15 struct student *create()
16 {
17 int i;
18 node information;
19 struct student *head; //头指针 方便以后插入与删除等一系列操作
20 struct student *end; //位置指针
21 struct student *new; //创建空间的新指针
22 new = end = (struct student *)malloc(sizeof(student));
23 head = NULL;
24 if(new == NULL) //如果申请堆空间失败 则结束进程返回-1
25 {

26 printf(“申请空间失败n”);

27 goto err;
28 }
29 printf(“请先输入学号,再输入姓名:n”);
30 scanf(“%d”,&information.number);
31 scanf(“%s”,information.name);
32 new->information = information; //把结构体信息直接输入到链表中,方便快捷
33 for(i=0;new->information.number>0;i++)
34 {
35 iCount++;
36 if(iCount == 1)
37 {
38 new -> next = NULL;
39 end = new;
40 head = end;
41 }
42 else
43 {
44 new -> next = NULL;
45 end = new;
46 new = new -> next;
47 }
48 new = (struct student*)malloc(sizeof(student));
49 scanf(“%d”,&information.number);
50 scanf(“%s”,information.name);
51 new -> information = information;
52 }

53 return head;
54 err:
55 return -1;
56 }
57
58 int main()
59 {
60 student *A;
61 A = create();
62 return 0;
63 }

最后

以上就是精明抽屉为你收集整理的C语言单链表和结构体的结合的全部内容,希望文章能够帮你解决C语言单链表和结构体的结合所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部