欢迎来到天天文库
浏览记录
ID:27844400
大小:1.46 MB
页数:68页
时间:2018-12-04
《[工学]12周指针二》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1指针回顾:指针变量的定义定义格式指向的类型说明符*指针变量名;例:int*pt;*—指针标记。pt—指针变量名int—pt是指向整数类型的指针变量。2回顾:指针变量的引用指针变量运算符&:取变量地址;*:取指针所指的变量的值;例:设p为指针变量,并且p=&a,则:b=*p;等价于:b=a;b=*p意味着将p的值(一个地址)的单元中的数据赋给b;341020papbabinta,b;int*pa,*pb;pa=&a;pb=&b;*pa=10;b=20;pa=pb;pb=&a;&a等价于&*pa*pa等价于*&a第五节数组、指针作为函数的参数5一、数组作为函数
2、的参数数组元素作为函数的参数:数组元素作为函数的参数,与简单变量作实在参数一样,是单向传递,即:“值传递”。数组名作为函数的参数:实参和形参都必须是相同类型的数组名。多维数组名做函数的参数61.数组元素作为函数的参数例:有两个数组a和b,将它们对应位置上的元素逐一比较,统计出两数组元素各自大的个数。大的个数多的数组就大于另一个数组。分析:设计一个函数,用来比较两个数的大小关系:不妨设该函数名称为intcomp(intx,inty);如果x>y返回一个+1;如果x3、ntflag;if(x>y)flag=1;elseif(x4、++;elseif(k==-1)small++;elsesame++;}10if(large>small)printf(“数组a大于数组b”);elseif(large5、素的平均值。122.数组名作为函数的参数例:编一函数,计算任意一个一维数组的数组元素的平均值。函数:floataverage(floata[],intn){inti;floatsum=0;for(i=0;i6、,将一个字符串按反序存放。voidinverse(chara[],intn){inti,k;charch;k=n/2;for(i=0;i7、loata[3][4])函数实现:max表示最大值将a[0][0]送给max;从数组的第0行第0列开始,逐个与max进行比较,如果某个数组元素比max大,将该数组元素送入max中;17多维数组名作为函数的参数floatlargest(floata[3][4]){floatmax;inti,j;max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max)max=a[i][j];return(max);}18voidmain(){inti,j;floata[3][4],max;for(i=0;i<3;i+8、+)for(j=0;j<4;j++)scanf("%
3、ntflag;if(x>y)flag=1;elseif(x4、++;elseif(k==-1)small++;elsesame++;}10if(large>small)printf(“数组a大于数组b”);elseif(large5、素的平均值。122.数组名作为函数的参数例:编一函数,计算任意一个一维数组的数组元素的平均值。函数:floataverage(floata[],intn){inti;floatsum=0;for(i=0;i6、,将一个字符串按反序存放。voidinverse(chara[],intn){inti,k;charch;k=n/2;for(i=0;i7、loata[3][4])函数实现:max表示最大值将a[0][0]送给max;从数组的第0行第0列开始,逐个与max进行比较,如果某个数组元素比max大,将该数组元素送入max中;17多维数组名作为函数的参数floatlargest(floata[3][4]){floatmax;inti,j;max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max)max=a[i][j];return(max);}18voidmain(){inti,j;floata[3][4],max;for(i=0;i<3;i+8、+)for(j=0;j<4;j++)scanf("%
4、++;elseif(k==-1)small++;elsesame++;}10if(large>small)printf(“数组a大于数组b”);elseif(large
5、素的平均值。122.数组名作为函数的参数例:编一函数,计算任意一个一维数组的数组元素的平均值。函数:floataverage(floata[],intn){inti;floatsum=0;for(i=0;i6、,将一个字符串按反序存放。voidinverse(chara[],intn){inti,k;charch;k=n/2;for(i=0;i7、loata[3][4])函数实现:max表示最大值将a[0][0]送给max;从数组的第0行第0列开始,逐个与max进行比较,如果某个数组元素比max大,将该数组元素送入max中;17多维数组名作为函数的参数floatlargest(floata[3][4]){floatmax;inti,j;max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max)max=a[i][j];return(max);}18voidmain(){inti,j;floata[3][4],max;for(i=0;i<3;i+8、+)for(j=0;j<4;j++)scanf("%
6、,将一个字符串按反序存放。voidinverse(chara[],intn){inti,k;charch;k=n/2;for(i=0;i7、loata[3][4])函数实现:max表示最大值将a[0][0]送给max;从数组的第0行第0列开始,逐个与max进行比较,如果某个数组元素比max大,将该数组元素送入max中;17多维数组名作为函数的参数floatlargest(floata[3][4]){floatmax;inti,j;max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max)max=a[i][j];return(max);}18voidmain(){inti,j;floata[3][4],max;for(i=0;i<3;i+8、+)for(j=0;j<4;j++)scanf("%
7、loata[3][4])函数实现:max表示最大值将a[0][0]送给max;从数组的第0行第0列开始,逐个与max进行比较,如果某个数组元素比max大,将该数组元素送入max中;17多维数组名作为函数的参数floatlargest(floata[3][4]){floatmax;inti,j;max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max)max=a[i][j];return(max);}18voidmain(){inti,j;floata[3][4],max;for(i=0;i<3;i+
8、+)for(j=0;j<4;j++)scanf("%
此文档下载收益归作者所有