欢迎来到天天文库
浏览记录
ID:20408595
大小:649.64 KB
页数:17页
时间:2018-10-11
《c指针,引用和结构体》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验5:指针、引用和结构体要求:(1)掌握指针、指针变S、指针常S的葙木概念:(2)掌握指针与数组、指针与函数的关系及应川。(3)初步掌握引用的概念及简单应用。第一部分教程练习:1.上机实验题一观察程序运行结果,学>』指针的基木运算。⑴分析变量和数组元素的地址都可以赋给一个指针,一个指针可以加上或减去一个整数;在两个指针指同一•数组不同元素吋,可以进行减运算,结果为其M的数组元素个数。一个完整的参考程序如下.•#includevoidmainO{inti,a[10];int*pl,*p2;pl
2、=a;"Ap2=pl+5;for(i=0;i<=9;i++){a[i]=i*i;cout<<"a["<
3、6a[?]=49at81=64a[9]=81a=0x0012FF54pi=0x0012FF54.p2=0x0012FF68p2-pl=5*p2-*pl=25Pressanykeytocontinue^⑵上机要求将程序中A行改为“pl=&a[0广观察程序运行结果将程序屮B行改为“cout<4、=64a[91=81*a=0pi=0x0012FF54.p2=0x0012FF68t)2-pl=5k>2-*pl=25Pressanykeytocontinue将程序屮C行改力“cout«na[5]-a[0]=n«a[5]-a[0]«endl;”观察程序运行结果。(3)对以上结果写出实验分析:将程序中A行改为“pl=&a[0]”,结果不变,因为“a”和“&a[0]”都表示数组的首地址。将程序中B行改为“cout<5、cout<<"a[5]-a[0]="<6、angc:a=H«a«,b=,,«b«cndl;}voidexchange(intx’inty){intt;t=x;x=y;y=t;}(1)分析木例的目的是在了函数中交换的两个变fi的值,在主函数中使用。但函数的数裾传值调用方式是将实参的数据值传递给形参,实参和形参在内存中占用不M的地址单元,改变形参值不改变实参值。要想通过改变形参的值而改变实参的值,则应使川指针调川或引川调川。而且引用调川人有取代指针调川之势。使川指针调川如下:#includevoidexchange(int*,int*)7、;voidmain(){cout«nInputtwodatasepratedbyspace:M;inta,b,*p1=&a,*p2=&b;cin»a»b;cout«nBcforcExchange:a=”<8、am.h>voidexchange(int&,int&);voidmain(){cout«”lnputtwodatasepratedbyspace:’’;inta,b;cin»a»b;cout«nBcforcExchange:a=”<
4、=64a[91=81*a=0pi=0x0012FF54.p2=0x0012FF68t)2-pl=5k>2-*pl=25Pressanykeytocontinue将程序屮C行改力“cout«na[5]-a[0]=n«a[5]-a[0]«endl;”观察程序运行结果。(3)对以上结果写出实验分析:将程序中A行改为“pl=&a[0]”,结果不变,因为“a”和“&a[0]”都表示数组的首地址。将程序中B行改为“cout<5、cout<<"a[5]-a[0]="<6、angc:a=H«a«,b=,,«b«cndl;}voidexchange(intx’inty){intt;t=x;x=y;y=t;}(1)分析木例的目的是在了函数中交换的两个变fi的值,在主函数中使用。但函数的数裾传值调用方式是将实参的数据值传递给形参,实参和形参在内存中占用不M的地址单元,改变形参值不改变实参值。要想通过改变形参的值而改变实参的值,则应使川指针调川或引川调川。而且引用调川人有取代指针调川之势。使川指针调川如下:#includevoidexchange(int*,int*)7、;voidmain(){cout«nInputtwodatasepratedbyspace:M;inta,b,*p1=&a,*p2=&b;cin»a»b;cout«nBcforcExchange:a=”<8、am.h>voidexchange(int&,int&);voidmain(){cout«”lnputtwodatasepratedbyspace:’’;inta,b;cin»a»b;cout«nBcforcExchange:a=”<
5、cout<<"a[5]-a[0]="<6、angc:a=H«a«,b=,,«b«cndl;}voidexchange(intx’inty){intt;t=x;x=y;y=t;}(1)分析木例的目的是在了函数中交换的两个变fi的值,在主函数中使用。但函数的数裾传值调用方式是将实参的数据值传递给形参,实参和形参在内存中占用不M的地址单元,改变形参值不改变实参值。要想通过改变形参的值而改变实参的值,则应使川指针调川或引川调川。而且引用调川人有取代指针调川之势。使川指针调川如下:#includevoidexchange(int*,int*)7、;voidmain(){cout«nInputtwodatasepratedbyspace:M;inta,b,*p1=&a,*p2=&b;cin»a»b;cout«nBcforcExchange:a=”<8、am.h>voidexchange(int&,int&);voidmain(){cout«”lnputtwodatasepratedbyspace:’’;inta,b;cin»a»b;cout«nBcforcExchange:a=”<
6、angc:a=H«a«,b=,,«b«cndl;}voidexchange(intx’inty){intt;t=x;x=y;y=t;}(1)分析木例的目的是在了函数中交换的两个变fi的值,在主函数中使用。但函数的数裾传值调用方式是将实参的数据值传递给形参,实参和形参在内存中占用不M的地址单元,改变形参值不改变实参值。要想通过改变形参的值而改变实参的值,则应使川指针调川或引川调川。而且引用调川人有取代指针调川之势。使川指针调川如下:#includevoidexchange(int*,int*)
7、;voidmain(){cout«nInputtwodatasepratedbyspace:M;inta,b,*p1=&a,*p2=&b;cin»a»b;cout«nBcforcExchange:a=”<8、am.h>voidexchange(int&,int&);voidmain(){cout«”lnputtwodatasepratedbyspace:’’;inta,b;cin»a»b;cout«nBcforcExchange:a=”<
8、am.h>voidexchange(int&,int&);voidmain(){cout«”lnputtwodatasepratedbyspace:’’;inta,b;cin»a»b;cout«nBcforcExchange:a=”<
此文档下载收益归作者所有