




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十二章 运行原理一、大纲1. 了解在C/C+中内存的分配方式2. 了解C语言中内存分配和释放函数的使用3. 掌握C+语言中内存分配和释放运算符的使用二、实验目标:1. 了解C/C+中内存分配的方式和含义。2. 掌握使用C+中的new和delete进行动态内存的分配和释放(其中包括分配和释放内存以及动态数组)。3. 理解使用new和delete对char字符指针的操作。三、实验方式:要求学生自己独立完成四、任务4.1任务1:使用new和delete完成动态内存的分配和释放(时间:25分钟)4.1.1 任务描述依次按照下面要求完成操作:(1) 定义一个int类型的指针pn,并初始化为NULL。(2) 使用new为pn分配一块动态的适合存储一个int值的内存。(3) 通过指针pn,将整数25保存到刚刚分配的内存中。(4) 分配显示*pn和pn的值,分析输出的结果。(5) 为指针pn所指向的内存重新赋值100。(6) 继续显示*pn和pn的值,分析输出结果。(7) 使用delete释放为指针pn分配的动态内存。(8) 显示使用delete后,*pn和pn的值,并分析结果。(9) 将指针pn的值赋值NULL,分析原因并打印指针pn的值。(10) 定义一个double指针pf,并在定义时使用new为其分配一块适合存储double类型的内存,并在分配时将10.25赋值给动态内存。(11) 分别显示pf和*pf的值。(12) 释放指针pf所指向的动态内存。(13) 并将内存释放后的pf赋值为NULL。(14) 显示指针pf的值。4.1.2 任务目的(1) 掌握使用C+中的new和delete进行动态内存的分配和释放。(2) 掌握在使用new进行动态内存分配的过程中指针的含义,以及它的值的变化。(3) 理解在使用delete进行内存释放后,指针是不会被清零的概念。(4) 掌握在使用new分配时和分配后赋值的操作。4.1.3 任务要求(1) 要求按照上面任务描述,完成实现,并理解上下语句间的联系。(2) 总结关于任务中的知识点,理解各条语句的含义。4.1.4 难点提示4.2任务2:使用new和delete完成动态内存的分配和释放(时间:20分钟)4.2.1 任务描述依次按照下面要求完成操作:(1) 定义一个double类型的指针parray,在定义时使用new为其分配一个长度为3的动态数组。(2) 为动态数组赋值:100, 20.5, 34.2。(3) 显示指针变量parray的值。(4) 依次显示指针parray所指向的动态数组的值,以及每个数组元素的地址。(5) 使用delete释放动态数组,并将指针parray的值赋值NULL。4.2.2 任务目的(1) 掌握使用new为指针变量分配动态数组的方法,以及使用delete释放内存的格式。(2) 掌握访问动态数组元素的方式,包括:赋值和访问(这里为显示)。(3) 掌握动态数组与指针变量的关系:指针变量保存的是动态数组的首地址。4.2.3 任务要求(1) 按照任务描述,完成功能。(2) 掌握每个任务所涉及的知识点,进行总结。(3) 程序在完成时,应保证有适当的注释信息以及良好的结构。4.2.4 难点提示4.3任务3:结合new 和delete使用char指针处理字符串(时间:25分钟)4.3.1 任务描述依次按照下面要求完成操作:(1) 定义一个char指针address,用于保存地址信息(字符串),初始化为NULL。(2) 使用new为address分配长度为20的动态字符数组,用于保存字符串。(3) 使用memset将address字符数组清零,分析执行结果。(考虑:不使用new分配空间是否可以使用)(4) 使用strcpy为address赋值字符串Beijing。(考虑:直接使用=赋值是否可以使用)(5) 输出address中字符串的值。(6) 定义另一个字符指针area,在定义时直接使用=赋值字符串Chaoyang。(7) 将area中的字符串,赋值给address。并显示赋值后address中的字符串。(8) 定义字符数组zone,并初始化ABCD。(9) 将zone中的字符串,赋值给address。并显示赋值后address中的字符串。(10) 释放为address所分配的动态数组。4.3.2 任务目的结合第七章任务4,总结使用char指针直接处理字符串和使用动态数组处理字符串之间的区别。4.3.3 任务要求(1) 理解任务描述中对字符串处理的区别,总结分别使用下面三种字符串处理方式的区别以及各自的使用方法:char数组、char指针(分两种:使用new和直接赋值处理)、string对象。(2) 掌握char指针和new结合使用,对字符串的处理。4.3.4 难点提示五、作业5.1 作业15.1.1 作业任务编写一个关于学生有关的程序:(1) 定义一个学生的结构Student,其中每名学生都包括姓名和年龄。姓名请分别使用char数组和char指针实现。(2) 编写关于设置学生姓名函数setName(),参数为Student&和char指针(传递字符串),完成通过函数对指定学生姓名的设置。(3) 编写关于设置学生年龄函数setAge(),参数为Student和int变量(传递年龄),完成通过函数对指定学生的年龄进行设置。(4) 编写关于输出指定学生信息的函数display(),参数为Student&,完成对指定学生信息的输出操作。(5) 编写主函数,测试所有编写的函数。5.1.2 任务要求(1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 干部培训开班仪式
- 公司治理学(第五版)课件 第七章 公司控制权市场:代理权争夺和收购与反收购
- 神秘礼物大班课件
- 创设情景的课件
- 汽车模具技术试题及答案
- 国考技术岗面试题及答案
- 辅警法制知识培训课件
- 辅警安全知识培训课件
- 建设银行2025成都市秋招笔试综合模拟题库及答案
- 2025年3D打印的建筑应用案例
- 2025年TCL集团校园招聘笔试模拟试题及答案解析
- 2021-2025年高考化学真题知识点分类汇编之氮及其化合物
- 2025-2026学年人教版小学劳动技术二年级上册教学计划及进度表
- 2025西藏日喀则市高级技工学校招聘专业实训指导教师和后勤保障人员20人备考练习题库及答案解析
- 危重患者安全转运指南
- 2025中级经济师《建筑与房地产经济》章节千题
- 医院医患纠纷处理课件
- 2025-2026学年人教鄂教版(2024)小学科学三年级上册教学计划及进度表
- 手机行业知识培训课件
- 湖北省腾云联盟2026届高三8月联考物理(含答案)
- 教学资料管理制度
评论
0/150
提交评论