指针_指针数组、多级指针、动态指针课件.ppt

指针_指针数组、多级指针、动态指针课件.ppt

ID:57118626

大小:223.00 KB

页数:23页

时间:2020-07-31

指针_指针数组、多级指针、动态指针课件.ppt_第1页
指针_指针数组、多级指针、动态指针课件.ppt_第2页
指针_指针数组、多级指针、动态指针课件.ppt_第3页
指针_指针数组、多级指针、动态指针课件.ppt_第4页
指针_指针数组、多级指针、动态指针课件.ppt_第5页
资源描述:

《指针_指针数组、多级指针、动态指针课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数组指针——以此类推一维数组名是“列指针类型”----“元素指针类型”指针变量的定义:int*p;二维数组名是“行指针类型”指针变量的定义:int(*p)[4];三维数组名是“页指针类型”指针变量的定义:int(*p)[3][4];四维数组名是“块指针类型”指针变量的定义:int(*p)[3][4][5];圆括号是必须的1问题的提出变量是用于存放单个数据的数组是用于存放“同类型”的多个数据的方便循环控制结构的编程指针变量是用于存放单个地址号的“同类型”的多个地址号是否能够集中存储在一起构成“指针数组”呢?2元素均为指针类型数据的数组,称为指针数组定义形式为:类型关

2、键字*数组名[数组长度];例如char*pStr[5];pStr[5]*char四、指针数组注意没有圆括号3例:二维字符数组voidmain(){inti;charstr[][10]={"Pascal","Basic","Fortran","Java","VisualC"};for(i=0;i<5;i++){printf("%s",str[i]);}}strstr[0]Pascalstr[1]str[2]str[3]BasicFortranJava二维数组VisualCstr[4]4例:字符指针数组voidmain(){inti;char*ptr[]={"Pa

3、scal","Basic","Fortran","Java","VisualC"};for(i=0;i<5;i++){printf("%s",ptr[i]);}}ptr[0]Pascalptr[1]ptr[2]ptr[3]BasicFortranJavaptr指针数组字符串ptrVisualCptr[4]5例:字符串按字典顺序排序—二维数组编程charstr[N][10]={"Pascal","Basic","Fortran","Java","VisualC"};for(i=0;i

4、tr[j],str[i])<0){strcpy(temp,str[i]);strcpy(str[i],str[j]);strcpy(str[j],temp);}}}strstrstrstrstrstrstrstrstrstr6例:字符串按字典顺序排序—指针数组编程char*ptr[N]={"Pascal","Basic","Fortran","Java","VisualC"};for(i=0;i

5、[j]=temp;}}}指针数组ptr字符串排序前PascalBasicFortranJavaVisualCptr[0]ptr[1]ptr[2]ptr[3]ptr[4]指针数组ptr字符串排序后PascalBasicFortranJavaVisualCptr[0]ptr[1]ptr[2]ptr[3]ptr[4]7命令行参数main()函数既可以是无参函数,也可以是有参的函数.向其传递参数,只能由程序之外传递而来.main(intargc,char*argv[])当你把main函数写成这样时argc的值为程序执行时参数的数目(

6、包括命令本身)argv[i]为指向第i个参数的字符指针这两个内设形参用于接收命令行参数通过命令行参数,使用户可以根据需要来决定我们的程序干什么、怎么干8例:演示命令行参数与main函数各形参之间的关系voidmain(intargc,char*argv[]){inti;printf("Theprogramnameis:%s",argv[0]);if(argc>1){printf("Theotherargumentsarefollowing:");for(i=1;i

7、gv[0]echo.exeargv[1]argv[2]helloworldptr指针数组字符串name9指针型函数一个函数可以返回一个int型、float型、char型的数据,也可以返回一个指针类型的数据,即地址。返回指针值的函数(简称指针函数)的定义格式如下:函数类型*函数名([参数表])例int*f(intx,inty)10例求一维数组的最大值及其下标int*findMax(intx[]){inti,j;j=0;for(i=1;i<5;i++)if(x[i]>x[j])j=i;return(&x[j]);}voidmain(){inta[5]={3,6,1,9

8、,12},

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。