c语言课件第8.3章.ppt

上传人:99****p 文档编号:1437167 上传时间:2019-02-27 格式:PPT 页数:46 大小:520.50KB
下载 相关 举报
c语言课件第8.3章.ppt_第1页
第1页 / 共46页
c语言课件第8.3章.ppt_第2页
第2页 / 共46页
c语言课件第8.3章.ppt_第3页
第3页 / 共46页
c语言课件第8.3章.ppt_第4页
第4页 / 共46页
c语言课件第8.3章.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、语言程序设计 第八章综合设计与应用C8.5动态存储空间分配 动态存储空间分配相对于静态存储空间分配具有如下特点: 不需要预先分配存储空间; 分配的空间可以根据程序的需要扩大或缩小。 C语言提供了若干动态存储空间分配函数,常用的有: malloc函数、 calloc函数和 free函数。语言程序设计 第八章综合设计与应用C(1) malloc()函数 原 型: void *malloc(unsigned int size); 头文件: #include 参 数: size 参数是一个无符号整形数,表示分配存储空间的字节数 功 能:在内存的动态存储区中分配一个长度为 size的连续空间 说 明:若

2、成功,返回指向分配区域起始地址的指针 (类型为 void);若失败,返回空指针NULL语言程序设计 第八章综合设计与应用C(2) calloc()函数 void * calloc( unsigned n, unsigned size ); 头文件: #include 参 数: size 表示分配存储空间的字节数; n 有多少个 size 功 能:在内存的动态区存储中分配 n个长度为 size的连续空间 说 明:若成功,返回指向分配区域起始地址的指针 (类型为 void);若失败,返回空指针NULL语言程序设计 第八章综合设计与应用C(3) free()函数 原 型: void free(voi

3、d *ptr); 头文件: #include 参 数: ptr欲释放内存单元的地址 功 能:在完成对所分配内存空间的使用之后,要通过调用 free()函数来释放它,释放后的内存区能够重新分配给其他变量使用 说 明:参数 ptr必须是先前调用动态空间分配函数 (malloc或 calloc等 )时返回的指针语言程序设计 第八章综合设计与应用C例 8-10动态分配一块区域,存储一个学生数据,并输出该学生数据。 语言程序设计 第八章综合设计与应用C程序清单 8-11 StructStu.c#include “stdio.h“#include “stdlib.h“struct sStudentint

4、nNum;char *cName;char cSex;float fScore; *psStu;void main(void) psStu = ( struct sStudent * ) malloc( sizeof ( struct sStudent ) ); 语言程序设计 第八章综合设计与应用C程序清单 8-11 StructStu.cpsStu-nNum=102;psStu-cName=“Zhang ping“;psStu-cSex=M;psStu-fScore=62.5;printf( “Number=%dnName=%sn“, psStu-nNum,psStu-cName ); pr

5、intf(“Sex=%cnScore=%fn“,psStu-cSex,psStu-fScore);free(psStu);语言程序设计 第八章综合设计与应用C 运行结果如图 8-22所示。语言程序设计 第八章综合设计与应用C8.6链表 8.6.1链表的概念 问题:结构体内的成员类型可以是其本身吗? 程序清单 8-12 StuTest.c语言程序设计 第八章综合设计与应用C程序清单 8-12 StuTest.c#include “stdio.h“#include “stdlib.h“struct studentint nNum;char cName20;int nScoreAvg;struct student sStu;void main()printf(“仅用来测试! “);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。