2014c语言与程序设计第十讲
39页1、C语言程序设计基础,2013.9,第1讲 概述-c程序要素与结构 第2讲 c语言的输入输出 第3讲 数据类型与关系运算 第4讲 c程序设计初步(条件判别、循环、数组初步) 第5讲 教学回顾(变量、语句、函数与程序结构) 第6讲 函数一(概念、形参与实参、函数间的参数传递) 第7讲 函数二(变量值与地址、函数与程序设计、调用形式) 第8讲 函数三(递归算法、指针、二维数组) 第9讲 指针与函数 第10讲 链表一(指针与链表) 第11讲 链表二(结构指针与链表设计) 第12讲 文件、算法初步,课程大纲,第十讲 指针与函数,动态内存申请 概念 内存申请函数malloc() 释放占用的内存free() 指针与动态内存 指针与数据结构 指针与数据结构 线性表的概念 指针与链表 链式存储的概念 指针与链 用内部指针关联同类型的节点 指针实践 生成一个简单单链表 生成一个简单循环链表 检索链表非循环链表 检索链表循环链表 拷贝单链表,教材9.3、9.4节内容,练习七第四题-二维数组,程序调试练习。整型数组a定义如下,在表格第二列中说明第一列中的表示形式所表达的意义,并在第三列中写出它的数值(编一简短
2、程序用DEBUG单步跟踪)。 int a34;,作业认真用debug做了吗? 二位数组概念清楚了吗?,动态申请内存空间,语言不允许动态数组类型。例如: int i=15; int datai; /不能用变量定义数组的大小,想用变量对数组的大小作动态说明,这是错误的,在实际的编程中,所需的内存空间,取决于实际输入的数据,无法预先确定。 为此,提供了内存管理函数,可以按需、动态地申请内存空间,也可把不再使用的空间,送回给操作系统,为有效地利用内存资源提供了手段。,+可以,通过new()动态申请数组长度。例如: int size; cinsize; int *p=new intsiez; /用i值定义数组当前长度,#include int main() int size; coutsize; int *p=new intsize; for(int j=0;jsize;j+)*(p+j)=j; for(j=0;jsize;j+)printf(“%d,“,*(p+j); coutendl; return (0); ,标准c的内存空间申请函数malloc,调用形式: (类型说明符*)malloc(
3、size) 功能: 在内存的动态存储区中分配一块长度为“size“字节的连续区域。函数的返回值为该区域的首地址。 “类型说明符”表示把该区域用于何种数据类型。(类型说明符*)表示把返回值强制转换为该类型指针。 “size”是一个无符号数。 头部函数是:#include 例如:cp=(char *)malloc(100); 表示分配100个字节的内存空间,并强制转换为字符数组类型,函数的返回值为指向该字符数组的指针,把该指针赋予指针变量cp。 内存可能申请失败,此时返回的cp为空指针。,#include #include #include int main() int n; char *cp; printf(“输入字符串长度:“); scanf(“%d“, ,定义一个字符指针,你当前需要的字符串长度,根据你的需要申请n个单元长度内存,把字符串输入到系统动态分配的长度为n个单元的内存区域,如果申请失败,退出程序,申请类型为char,长度为n的内存区域,malloc在函数内申请的变量作用域在哪里?返回主调函数后,是否还存在?,标准c的内存空间申请函数malloc,动态内存申请的存储空间生存期
4、,#include #include #include char *input(); int main() char *cp; cp=input(); printf(“输入字符串n“); scanf(“%s“,cp); printf(“n你的输入是:%sn“,cp); return(0); char *input() int n; char *cp; printf(“输入字符串长度:“); scanf(“%d“,在input函数中申请动态内存,申请了字符串长度n的空间,并返回给主调函数。,动态内存申请的存储空间生存期,input给cp赋值,malloc在被调函数内申请的空间,但它在工程存活期间,该空间一直有效。,注意,c不检查是否越界,释放内存空间函数free,调用形式: free(void*ptr); 功能: 释放ptr所指向的一块内存空间。 ptr是一个任意类型的指针变量,它指向被释放区域的首地址。 被释放区应是由malloc函数所分配的区域。 头部函数是:#include 例如: cp=(char *)malloc(100); /分配100个字节的内存空间 . free(cp);
《2014c语言与程序设计第十讲》由会员E****分享,可在线阅读,更多相关《2014c语言与程序设计第十讲》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-04-11 25页
2024-04-11 37页
2024-04-11 28页
2024-04-11 31页
2024-04-11 36页
2024-04-11 29页
2024-04-11 22页
2024-04-11 27页
2024-04-11 34页
2024-04-11 32页