动态c语言程序设计,C语言程序设计(动态数据结构).pdf

第九章动态数据结构

C语言程序设计课程组

马迪芳

本章导学

一、主要内容

动态数据结构是相对于静态数据结构来讲的,它是在程序的执行过程

中动态地建立起来的,以致这种数据结构的规模大小可以动态地发

生变化,故称为动态数据结构。

本章主要介绍建立链表结构、在其中查找指定元素、插入一个新元素

、删除一个元素等操作。

2

本章导学

二、本章重点

1、动态数据结构的概念

2 、动态申请和释放内存的方法

3 、链表的建立

4 、链表结点的插入与删除算法

3

本章导学

三、本章难点

1、动态申请和释放内存的方法

2 、链表的建立

3 、链表结点的插入与删除

4

第一单元 动态内存管理

1 动态内存管理

2 malloc() 与calloc()

3 realloc() 与free()

5

1) 动态内存管理

 动态内存管理是由操作系统完成的,C程序只是通过特定的函数调用

来完成动态内存的使用。

 C语言中的标准库函数提供了4个函数来实现对内存的动态管理:分

配内存块的函数malloc( )和calloc( )、改变内存块大小的函数

realloc( )、释放内存块的函数free( )

 这4个函数都是在头文件stdlib.h中声明的,函数中涉及的内存块的

单位都是字节。

6

1) 动态内存管理

 分配内存块的函数如果调用成功会返回所申请内存块的

首地址,地址的类型为" void * ",表示无类型指针,也

称为通用指针。之后程序就可以按照需要使用这个内存

块。

 通用指针在使用之前必须进行类型转换,只有转换为具

体的类型的指针之后才可以在程序中使用。

7

1) 动态内存管理

当申请的内存块在程序中不再使用时,就要使用释

放内存块的函数free()来释放所占用的内存空间。

所有程序占用的动态分配的内存块在程序退出时都

会被自动释放。

8

2) malloc()

函数malloc( )是用得最广的一个动态内存分配函数

,该函数申请一个指定字节数大小的连续的内存

块。

9

2) malloc()

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

其中size_t是标准库预定义的一种类型,一般就是无

符号整数。

参数size指定需要申请的字节数;返回值为所分配内

存块首地址的通用指针,必须将其强制转换成相应类

型才能使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值