c++第12章_1_运行原理_ok.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:5 大小:48KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

c++第12章_1_运行原理_ok.doc

c++第12章_1_运行原理_ok.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十二章运行原理一、大纲了解在C/C++中内存的分配方式了解C语言中内存分配和释放函数的使用掌握C++语言中内存分配和释放运算符的使用二、实验目标:了解C/C++中内存分配的方式和含义。掌握使用C++中的new和delete进行动态内存的分配和释放(其中包括分配和释放内存以及动态数组)。理解使用new和delete对char字符指针的操作。三、实验方式:要求学生自己独立完成四、任务4.1任务1:使用new和delete完成动态内存的分配和释放(时间:25分钟)4.1.1任务描述依次按照下面要求完成操作:定义一个int类型的指针pn,并初始化为NULL。使用new为pn分配一块动态的适合存储一个int值的内存。通过指针pn,将整数25保存到刚刚分配的内存中。分配显示*pn和pn的值,分析输出的结果。为指针pn所指向的内存重新赋值100。继续显示*pn和pn的值,分析输出结果。使用delete释放为指针pn分配的动态内存。显示使用delete后,*pn和pn的值,并分析结果。将指针pn的值赋值NULL,分析原因并打印指针pn的值。定义一个double指针pf,并在定义时使用new为其分配一块适合存储double类型的内存,并在分配时将10.25赋值给动态内存。分别显示pf和*pf的值。释放指针pf所指向的动态内存。并将内存释放后的pf赋值为NULL。显示指针pf的值。4.1.2任务目的掌握使用C++中的new和delete进行动态内存的分配和释放。掌握在使用new进行动态内存分配的过程中指针的含义,以及它的值的变化。理解在使用delete进行内存释放后,指针是不会被清零的概念。掌握在使用new分配时和分配后赋值的操作。4.1.3任务要求要求按照上面任务描述,完成实现,并理解上下语句间的联系。总结关于任务中的知识点,理解各条语句的含义。4.1.4难点提示4.2任务2:使用new和delete完成动态内存的分配和释放(时间:20分钟)4.2.1任务描述依次按照下面要求完成操作:定义一个double类型的指针parray,在定义时使用new为其分配一个长度为3的动态数组。为动态数组赋值:100,20.5,34.2。显示指针变量parray的值。依次显示指针parray所指向的动态数组的值,以及每个数组元素的地址。使用delete释放动态数组,并将指针parray的值赋值NULL。4.2.2任务目的掌握使用new为指针变量分配动态数组的方法,以及使用delete释放内存的格式。掌握访问动态数组元素的方式,包括:赋值和访问(这里为显示)。掌握动态数组与指针变量的关系:指针变量保存的是动态数组的首地址。4.2.3任务要求按照任务描述,完成功能。掌握每个任务所涉及的知识点,进行总结。程序在完成时,应保证有适当的注释信息以及良好的结构。4.2.4难点提示4.3任务3:结合new和delete使用char指针处理字符串(时间:25分钟)4.3.1任务描述依次按照下面要求完成操作:定义一个char指针address,用于保存地址信息(字符串),初始化为NULL。使用new为address分配长度为20的动态字符数组,用于保存字符串。使用memset将address字符数组清零,分析执行结果。(考虑:不使用new分配空间是否可以使用)使用strcpy为address赋值字符串"Beijing"。(考虑:直接使用"="赋值是否可以使用)输出address中字符串的值。定义另一个字符指针area,在定义时直接使用"="赋值字符串"Chaoyang"。将area中的字符串,赋值给address。并显示赋值后address中的字符串。定义字符数组zone,并初始化"ABCD"。将zone中的字符串,赋值给address。并显示赋值后address中的字符串。释放为address所分配的动态数组。4.3.2任务目的结合第七章任务4,总结使用char指针直接处理字符串和使用动态数组处理字符串之间的区别。4.3.3任务要求理解任务描述中对字符串处理的区别,总结分别使用下面三种字符串处理方式的区别以及各自的使用方法:char数组、char指针(分两种:使用new和直接赋值处理)、string对象。掌握char指针和new结合使用,对字符串的处理。4.3.4难点提示五、作业5.1作业15.1.1作业任务编写一个关于学生有关的程序:定义一个学生的结构Student,其中每名学生都包括姓名和年龄。姓名请分别使用char数组和char指针实现。编写关于设置学生姓名函数setName(),参数为Student&和cha