C语言项目实战学生管理系统(3)

简介: C语言项目实战学生管理系统(3)

前言

本篇文章我们带大家学习如何查看学生信息及链表的释放。


一、查看学生信息

查看每一个学生的信息需要我们去遍历链表

第一步:定义一个结构体指针指向头,判断头是否为空为空则提示没有学生信息。

第二步:每一次循环都让PTemp向后移动一个,当移动到最后一个时PTemp为NULL则不再执行循环。

void showdate()
{
  STUNODE *pTemp = g_pHead;
  if (pTemp == NULL)
  {
    printf("无学生信息!\n");
  }
  while (pTemp != NULL)
  {
    printf("学号:%s,姓名:%s,分数:%d\n",pTemp->arrStunum,pTemp->arrStuname,pTemp->iStuSorce );
    //向后移动
    pTemp = pTemp->pNext;
  }
}

二、链表的释放

链表的释放和链表的遍历有一些相同的地方

第一步:定义一个结构体指针指向头,判断头是否为空

第二步:使用PTemp记住头节点的位置,头节点向后移动一个位置,并把PTemp释放,如此循环就可以清空链表。

第三步:当清空完链表后要把头尾指针都指向NULL。

//清空链表
void FreeLinkDate()
{
  STUNODE *pTemp = g_pHead;
  while (g_pHead != NULL)
  {
    //记录节点
    pTemp = g_pHead;
    //向后移动
    g_pHead = g_pHead->pNext;
        //删除节点
      free(pTemp);
  }
  g_pHead = NULL;
  g_pEnd = NULL;
}

总结

大家可以自己好好操作一遍,有什么不清楚可以留言和私信。

相关文章
|
27天前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别
pymalloc 和系统的 malloc 有什么区别
|
23天前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别?
pymalloc 和系统的 malloc 有什么区别?
|
2月前
|
存储 编译器 C语言
【C语言】学生管理系统:完整模拟与实现(一)
【C语言】学生管理系统:完整模拟与实现
|
2月前
|
存储 定位技术 API
C语言项目实战:贪吃蛇
C语言项目实战:贪吃蛇
|
2月前
|
存储 C语言
手把手教你用C语言实现通讯录管理系统
手把手教你用C语言实现通讯录管理系统
|
2月前
|
测试技术 C语言
【C语言】学生管理系统:完整模拟与实现(三)
【C语言】学生管理系统:完整模拟与实现
|
2月前
|
C语言
【C语言】学生管理系统:完整模拟与实现(二)
【C语言】学生管理系统:完整模拟与实现
|
4月前
|
存储 C语言
【C语言】C语言-宾馆客房管理系统(源码+论文)【独一无二】
【C语言】C语言-宾馆客房管理系统(源码+论文)【独一无二】
【C语言】C语言-宾馆客房管理系统(源码+论文)【独一无二】
|
4月前
|
存储 C语言
学生管理系统(C语言简单实现)
这篇文章是关于使用C语言实现一个简单的学生管理系统,包括文件的基本应用、数据结构设计、函数实现以及用户界面交互。
学生管理系统(C语言简单实现)
|
4月前
|
存储 数据可视化 数据安全/隐私保护
【C语言】C语言-成绩管理系统(管理员+教师+学生 源码)【独一无二】
【C语言】C语言-成绩管理系统(管理员+教师+学生 源码)【独一无二】
123 2