- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VisualC++实验报告
实验名称 实验七动态内存分配及数组、指针和引用
学 院 测绘学院
课 程 Visual C++6.0教程
姓 名 王彬彬
学 号
日 期 2012.11.19
实验目的
掌握一维数组、二维数组的定义与应用。
掌握数组元素的初始化方法。
掌握指针及指针数组的使用方法。
掌握按数组方式、指针方式、地址方式输出数组元素的方法。
掌握存储空间的动态分配与使用。
通过Debug调试功能观察指针及其所指向存储单元的内容。
实验任务
本实验包括以下三项任务。
数组元素的访问与初始化
定义一个三行四列的二维数组,并将数组元素进行初始化为以下指定值:
{18,21,12,13,28,22,13,14,58,68,29,28}
并以下标方式、地址方式、指针方式分别输出该二位数组元素。
动态内存分配与使用
使用指针申请N个动态(N为某一指定常数)存储空间,由键盘输入N个数据,并验证存储结果;将以上存储空间的数据进行平方元算,并将运算结果值赋值给数组array。
3.Debug跟踪程序的执行
使用Debug调试功能观察程序的执行过程(任务2),观察指针的内容及其所指向对象的内容。
实验指导
数组元素的访问方法
根据任务1的要求,定义二维数组array[3][4]和指针数组*p[3],这样可以分别实现以下标方式、地址方式、指针方式,分别输出二维数组各元素。
程序代码如下:
//sy071.cpp
#includeiostream.h
void main()
{
int array[3][4]={18,21,12,13,28,22,13,14,58,68,29,28};
int i,j,*p[3];
cout按数组下标方式输出二维数组:endl;
for(i=0;i3;i++)
{
for(j=0;j4;j++)
coutarray[i][j] ;
coutendl;
}
cout按地址方式输出二维数组:endl;
for(i=0;i3;i++)
{
for(j=0;j4;j++)
cout*(*(array+i)+j) ;
coutendl;
}
cout按指针方式输出二维数组:endl;
for(i=0;i3;i++)
{
p[i]=array[i];
for(j=0;j4;j++)
cout*(*(p+i)+j) ;
coutendl;
}
}
2.动态内存分配方法
根据任务2的要求,定义double型指针*ptr,使用new语句申请动态内存;为提高程序的通用性,动态内存空间的大小定义为常数N。
程序代码如下:
//sy072.cpp
#includeiostream.h
const int N=6;
void main()
{
int i;
double *ptr;
ptr=new double[N];
cout输入N个数,不同数据之间以空格分隔:endl;
for(i=0;iN;i++)
{
cin*(ptr+i);
}
coutptr=ptrendl;
cout输出N个数如下:endl;
for(i=0;iN;i++)
{
cout*(ptr+i) ;
}
coutendl;
coutN个数平方以后输出如下endl;
double array[N];
for(i=0;iN;i++)
{
array[i]=(*(ptr+i))*(*(ptr+i));
*(ptr+i)=array[i];
coutarray[i]=array[i],*(ptr+i)=*(ptr+i)endl;
}
}
程序调试
选择Buid|Start Debug|Step Into选项,或快捷键F11,程序进入单步执行状态,在Visual Studio中,光标停留在主函数main的入口处。
从Debug菜单或Debug工具栏中单击Step Over,程序进入单步执行状态,反复单击Step Over,并按要求输入N个数据。
当单步执行到如图箭头所指向的语句时,在Watch窗口的Name列依次输入*ptr~*(ptr+5),观察指针ptr及其内容。在图中,当单步执行到第5次循环时,ptr的值为0通过Watch窗口可观察指针所指向的存储单元的值,其值与程序运行结果完全一致。
继续单击Step Over,当单步执行到如图左边箭头所指向的语句时(第5次循环),指针及其所指向地址单元的值可通过下图右下方的Watch窗口观察。
继续单步执行,直到程序结束,
您可能关注的文档
最近下载
- 平度2018年蓼兰镇西何家店村滑溪头连片打造美丽乡村示.doc VIP
- 《法律基础知识》试题库(含答案).pdf VIP
- 电商达人LV1-LV2等级提升试卷.docx VIP
- 捷顺智能道闸安装调试说明书a 1.pdf VIP
- 37、餐厅菜品研发流程.pdf VIP
- 平度市2018蓼兰镇西何家店村、滑溪头连片打造美丽乡村示.doc VIP
- 医院设备科干事面试题及参考答案结构化面试题.docx VIP
- 2025庆元旦迎新年晚会PPT模板.pptx VIP
- 2023-2024学年语文三年级上学期《期末测试卷》附答案解析 .pdf VIP
- 房地产市场年报-2020年天津市房地产市场年报.pdf VIP
文档评论(0)