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

举报
yd_274589494 发表于 2023/07/22 09:49:03 2023/07/22
812 0 0
【摘要】 @TOC 前言本篇文章我们带大家学习如何查看学生信息及链表的释放。 一、查看学生信息查看每一个学生的信息需要我们去遍历链表第一步:定义一个结构体指针指向头,判断头是否为空为空则提示没有学生信息。第二步:每一次循环都让PTemp向后移动一个,当移动到最后一个时PTemp为NULL则不再执行循环。void showdate(){ STUNODE *pTemp = g_pHead; if (pTe...

@TOC

前言

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

一、查看学生信息

查看每一个学生的信息需要我们去遍历链表
第一步:定义一个结构体指针指向头,判断头是否为空为空则提示没有学生信息。
第二步:每一次循环都让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;
}

总结

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

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。