从零开始一起学C语言(九)---数据结构

这篇博客详细介绍了C语言中的数据结构概念,包括逻辑结构类型和存储方式。重点讲解了内存动态开辟与释放的函数`malloc`和`free`的使用。接着深入探讨了链表的创建、读写、插入和删除操作,如头插法和尾插法。对于初学者,这是一份全面的链表入门指南。
摘要由CSDN通过智能技术生成

目录

一、数据结构的介绍

1、数据结构

2、数据结构的存储方式

二、内存的动态开辟和释放

1、内存的动态开辟

2、内存的动态释放

三、链表的创建

1、链表头的创建

四、链表的读和写

1、创建任意数量的节点

2、链表的写

3、链表的读

五、链表的插入

1、头插法

2、尾插法

六、链表的删除


一、数据结构的介绍

1、数据结构

相互之间具有一定联系的数据元素的集合。数据元素之间的关系称为逻辑结构。常见的四种基本逻辑结构:

1)集合:数据元素除了同属于一个集合外,没有其他关系。

2)线性结构:数据元素之间存在一对一的关系。电话簿

3)树形结构:数据元素之间存在一对多的关系。磁盘的文件系统

4)网状结构:数据元素之间存在多对多的关系。交通网络

2、数据结构的存储方式

根据数据元素之间的关系可以分为顺序存储结构和链式存储结构。

顺序存储结构:用元素之间的相对位置来表示数据元素之间的关系。存储地址是连续的。

链式存储结构:数据元素内存储另外一个数据元素的地址。用该地址表示数据元素之间的关系。存储地址是不连续的。

二、内存的动态开辟和释放

1、内存的动态开辟

函数原型:void * malloc(size_t size);

函数作用:分配size个字节的内存空间,并返回所分配内存的指针。

函数形参:size_t为自定义类型,unsigned int;

size为所需要分配的内存空间的大小。

函数返回值:分配成功返回所分配的内存空间的首地址,

不成功返回NULL。

2、内存的动态释放

函数原型:void free(void *block);

函数作用:释放程序动态申请的内存空间,

以便能提高程序对内存的利用率。

函数参数:block为所需要释放的内存空间的首地址。

三、链表的创建

习惯称链表的数据元素为节点。一个节点存放下一个节点的地址。

每个节点分为数据域,指针域。

1、链表头的创建

#include <stdi
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值