- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指针,引用和结构体.doc
实验5:指针、引用和结构体
要求:
掌握指针、指针变S、指针常S的葙木概念:
掌握指针与数组、指针与函数的关系及应川。
初步掌握引用的概念及简单应用。
第一部分教程练习:
上机实验题一
观察程序运行结果,学』指针的基木运算。
⑴分析
变量和数组元素的地址都可以赋给一个指针,一个指针可以加上或减去一个整数;在两个 指针指同一?数组不同元素吋,可以进行减运算,结果为其M的数组元素个数。
一个完整的参考程序如下.?
#includeiostream.h void mainO {
int i,a[10]; int *pl,*p2;
pl=a; A
p2=pl+5;
for (i=0;i=9;i++) {a[i]=i*i;
couta[i?]=”《a[i]?endl;
}
couta:’’aendl; //B
cout?pl =,?pl?,p2=?p2?endl; cout?p2-p l=?p2-pl ?endl;
cout?r*p2-*pl=?*p2-*pl?cndl; //C
C、D:Labl\Debug\Labl. exe
卜[0]=0
a[l]=l
a[2]=4
a[3]=9
a[41=16
at51=25
a[61=36
a[?]=49
at81=64
a[9]=81
a=0x0012FF54
pi=0x0012FF54.p2=0x0012FF68
p2-pl=5
*p2-*pl=25
Press any key to continue^
⑵上机要求
将程序中A行改为“pl=a[0广观察程序运行结果
将程序屮B
将程序屮B行改为“coutn*a=n*aendl;”观察程序运行结果
ca D:labl\Debug\labl.exe
a[0]=0
a[l]=l
a[2]=4
a[3]=9
af4]=16
a[5]=25
a[61=36
at?]=49
at81=64
a[91=81
*a=0
pi=0x0012FF54.p2=0x0012FF68
t)2-pl=5
k2-*pl=25
Press any key to continue
将程序屮C行改力“cout?na[5]-a[0]=n? a[5]-a[0]?endl;”观察程序运行结果。
(3)对以上结果写出实验分析:
将程序中A行改为“pl=a[0]”,结果不变,因为“a”和“a[0]”都表示数组的首地 址。将程序中B行改为“coutn*a=n*aendl;”a是a[0]的地址,*a是元素a[0]的值,即 为 0。将程序中 C 行改为“couta[5]-a[0]=a[5]-a[0]endl;”因为 3[0]和,1 等价,a[5] 和*p2等价,故结果不变。
上机实验题二
指出下列程序的错误。
#include〈iostream.h〉 void cxchangc(int,int); void main()
cout?’’Input two data seprated by space:;
int a,b;
cin?a?b;
cout?nBefore Exchange:a=an,b=nbendl; exchange(a,b);
cout?n After Exchangc:a=H?a?,\b=,,?b?cndl;
}
void exchange(int x’int y)
{
int t;
t=x;x=y;y=t;
}
(1)分析
木例的目的是在了函数中交换的两个变fi的值,在主函数中使用。但函数的数裾传值调用 方式是将实参的数据值传递给形参,实参和形参在内存中占用不M的地址单元,改变形参值不 改变实参值。要想通过改变形参的值而改变实参的值,则应使川指针调川或引川调川。而且引 用调川人有取代指针调川之势。
使川指针调川如下:
#include iostream.h void exchange(int*,int*); void main()
{
cout?nInput two data seprated by space:M;
int a,b,*p 1 =a,*p2=b;
cin?a?b;
cout?nBcforc Exchange:a=”an,b=nbendl; exchange(pl,p2);
cout? After Exchange:a=a,b=nbendl;
}
void cxchangc(int *x,int *y)
{
int t;
t=*x;*x=*y;*y=t;
使川引川调川如下(待讲完引川冉做): #include iostream.h
void exchange(int,int);
void main()
{
cout?”lnput two data seprated by space:’’;
int a,b;
cin?a?
您可能关注的文档
- 扶贫办年度主要工作总结暨年扶贫工作要点.doc
- 扶贫工作督查通报范文 .doc
- 扶贫工作述职报告两篇 .doc
- 扶贫驻村工作队汇报.doc
- 扶贫驻村思想汇报.doc
- 批发购物中心实施方案11.doc
- 技工院校创业教育培训实践探索.doc
- 技师劳务合同范本.doc
- 技术与经济政策对经济增长的作用机制.doc
- 技术交底卡摆喷桩.doc
- 广东省揭阳市普宁市勤建学校2025~2026学年高二上册第二次调研考试化学试题【附解析】.pdf
- 2026年医院招聘理论试题及答案.doc
- 2026年模拟盲区测试题及答案.doc
- 广东省梅州市2025~2026学年高三上册期中模拟训练(一)化学试题【附答案】.pdf
- 2026年视唱与练耳试题及答案.doc
- 广东省深圳市高级中学(集团)2025~2026学年高三上册第二次诊断测试化学试题【附答案】.pdf
- 以奔跑为题目的作文经典.docx
- 疑难病例讨论记录.docx
- 福建省漳州艺术实验学校2024-2025学年高二上册第三次月考化学试题【附答案】.pdf
- 广东省潮州市松昌中学2025~2026学年高二上册阶段考试化学试题【附答案】.pdf
最近下载
- 四川省眉山市东坡中学2024届物理八上期末学业水平测试试题含解析.pdf VIP
- 4.4 国际合作(课件)高二地理课件(人教版2019选择性必修2).pptx VIP
- 《医疗陪诊顾问》2025年考试真题及答案.docx
- 水环境修复(642009)教学大纲.pdf VIP
- 党建 展板内容.pdf VIP
- 铁工电202185号国铁集团关于加强涉铁工程管理的指导意见.pdf
- 最新玉米栽培技术方案玉米栽培技术讲座.pptx VIP
- 暨南大学《计量经济学》2019-2020学年第一学期期末试卷.pdf VIP
- 完整版厂房消防水电工程施工组织设计方案.pdf VIP
- 郁南县2023年郁南县油茶新造林项目作业设计.doc VIP
原创力文档


文档评论(0)