面向对象程序设计-数组指针引用学习教案.ppt
上传人:王子****青蛙 上传时间:2024-09-13 格式:PPT 页数:20 大小:454KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

面向对象程序设计-数组指针引用学习教案.ppt

面向对象程序设计-数组指针引用学习教案.ppt

预览

免费试读已结束,剩余 10 页请下载文档后查看

10 金币

下载此文档

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

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

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

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

主要(zhǔyào)内容1数组数组做函数参数,需传递(chuándì)数组、数组长度intsum(int[],int);intmain(){staticintia[5]={2,3,6,8,10};intsumOfArray;sumOfArray=sum(ia,5);cout<<"sumofarray:"<<sumOfArray<<endl;}intsum(intarray[],intlen){intiSum=0;for(inti=0;i<len;i++)iSum+=array[i];returniSum;}2指针(zhǐzhēn)指针是有类型的。即:指针操作与指向数据(shùjù)的类型密切相关floatf=34.5;int*p1=&f;//错intn=5;p1=&n;int*p2=p1;*p2=100;cout<<“n:”<<n<<“\n”;cout<<“*p1”<<p1<<“:”<<*p2<<“\n”;cout<<“*p2”<<p2<<“:”<<*p2<<“\n”;结果为:?2.1指针运算指针加减整数(zhěngshù)的操作表示空间位置上的挪动但是挪动的字节数与其数据类型相关:对float指针加6实际值增加了24个字节对longint指针加5实际值增加了20个字节对char指针减7实际值减少了7个字节对double指针减2实际值减少了16个字节2.2指针(zhǐzhēn)与数组数组名本身就是表示元素集合的首地址,可以将数组名赋给指针(zhǐzhēn)inta[3];for(inti=0;i<3;++i)a[i]=i*2;for(int*iP=a;iP<a+3;iP+=1)cout<<iP<<“:”<<*iP<<“\n”;结果为:1245036:01245040:21245044:4字符(zìfú)数组、字符(zìfú)指针、字符(zìfú)串2.3指针常量、常量指针、常量指针常量constinta=78;intb=10;intc=18;constint*ip=&a;//const修饰(xiūshì)指向的实体类型——常量指针int*constcp=&b;//const修饰(xiūshì)指针*cp——指针常量intconst*dp=&b;//等价于上一句——指针常量constint*consticp=&c;//常量指针常量*ip=87;//错:常量指针不能修改指向的常量,*ip只能做右值ip=&c;//ok:常量指针可以修改指针值*cp=81;//ok:指针常量可以修改指向的实体cp=&b;//错:指针常量不能修改指针值,即使是同一个地址*icp=33;//错:常量指针常量不能修改指向的常量icp=&b;//错:常量指针常量不能修改指针值intd=*icp;//ok2.4指针(zhǐzhēn)做函数参数//须附带(fùdài)传递数据的个数voidmySort(int*b,intsize);voidf(){inta[]={3,5,7,1,8,4,9};mySort(a,sizeof(a)/sizeof(a[0]));}mySort(int*b,intsize)与mySort(intb[],intsize)是等价的2.5函数指针intg(inta);int(*gp)(int)=g;voidf();void(*fp)();fp=f;gp=fp;//error,类型(lèixíng)不同C++程序(chéngxù)——实际是操作系统调用的函数。程序(chéngxù)运行——操作系统读入命令以启动程序(chéngxù)。操作系统将命令行参数以字符串的形式传递给main函数main函数的形式:intmain(intargc,char*argv[])main函数参数4引用引用即一个别名。引用必须初始化,因为它总是附属(fùshǔ)于某个实体引用一旦初始化后,则与它附属(fùshǔ)的实体再不分开。intsInt=5;int&rInt=sInt;//初始化修改引用的值,即是修改了附属(fùshǔ)的实体值rInt=8;cout<<sInt<<“\n”;结果为:8voidswap(int&b,int&c){inttemp=b;b=c;c=temp;}intmain(){inti=6,k=5;swap(i,k);}voidfun(constint&b){inttemp=b;//rightb=c;//wrong不能修改(xiūgǎi)常量的值}intmain(){inti=6;fun(i);}感谢您的观看(guānkàn)!内容(nèiróng)总结