C语言中链表的知识回顾

本文回顾了C语言中的链表基础知识,包括链表概述、动态链表的创建及管理,如calloc函数用于分配连续内存,free函数用于释放内存。通过实例展示了如何在程序运行时动态创建链表,并输出链表内容。

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

链表概述

链表是一种常见的数据结构,其存储元素的个数是不固定的。在链表中有一个头指针变量表示头指针,该指针变量保存一个地址,头指针指向一个变量,这个变量称之为元素。在链表中,每个元素包含数据部分和指针部分。最后一个元素的指针指向NULL,表示指向的地址为空。设计一个链表的节点表示如下:

struct XXX
{
   
   
	//函数体
	struct XXX* pNext;
};

创建动态链表

动态创建一个链表节点时要为其分配内存,使用malloc函数。函数原型如下:

void *malloc(unsigned int size);

该函数的作用是在内存中动态分配size大小的额内存空间,malloc函数返回一个指针,指向分配的内存空间,出错则返回NULL

calloc函数
void* calloc(unsigned n, unsigned size);

该函数的功能是在内存中动态分配n个长度为size的连续内存空间。calloc函数会返回一个指针,该指针指向动态分配的连续内存空间地址。当分配空间错误时返回NULL。

free函数

函数原型如下:

void free(void *ptr);

该函数的功能是使用由指针 ptr 指向的内存区,使部分内存区能被其他变量使用。ptr是最近一次调用calloc或malloc函数时返回的值。free函数无返回值。

动态链表创建实例

在程序运行过程中从无到有的建立起一个链表,即一个一个地分配结点的内存空间,然后输入节点中的数据并建立结点间的相连关系。

例如,将一个班级中的学生作为链表中的结点,然后将所有学生的信息放在链表结构中。

首先创建结点结构,表示每一个学生。

struct
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值