资源描述:
《C语言二维数组课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章二维数组7.1基本操作二维数组:一维数组,数组中每个元素是类型相同的一维数组。定义:类型说明符数组名[常量表达式][常量表达式]floata[3][4]数组名为a,有12个元素,下标从0开始,即a[0][0]a[0][1]…a[2][3]在内存中按先行后列存放a[0][0]a[0][1]…a[2][3]1二维数组数组元素的引用形式数组名[下标][下标]2二维数组初始化分行给二维数组赋初值inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};按数组排列顺序对各元素赋初值
2、inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};对部分元素赋初值inta[3][4]={{1},{5},{9}};其余元素值自动为0inta[3][4]={1,5,9};3二维数组赋值inta[2][3];a[0][0]=1a[0][1]=1a[0][2]=1a[1][0]=1a[1][1]=1a[1][2]=1for(j=0;j<3;j++)a[0][j]=1;for(i=0;i<2;i++)/**/a[i][j]=1;4二维数组1000010000100001for(i=0;i
3、<4;i++)for(j=0;j<4;j++)a[i][j]=1;if(i==j)elsea[i][j]=0;5二维数组1222012200120001for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j)a[i][j]=1;elsea[i][j]=0;elseif(imain(){inti,j;inta[3][3];for(i=0;i<3;i++)for(j=0;j<3;j++)a
4、[i][j]=(i+1)*10+j;}7二维数组接收for(i=0;i<4;i++)for(j=0;j<4;j++)scanf(“%d”,&a[i][j]);8二维数组输出for(i=0;i<4;i++)for(j=0;j<4;j++)printf(“%d”,a[i][j]);printf(“”);{}011120112201222097.2二维数组名作为参数voidfun(doublea[M][N])voidfun(doublea[][N])main(){doublex[M][N];fun(x);}10#d
5、efineM3#defineN4voidLineMax(intx[][N]){inti,j,colum;for(i=0;i6、voidreverse(intx[][2],inty[][3]);main(){intx[3][2]={{1,2},{3,4},{5,6}};int*p,y[2][3];reverse(x,y);/*矩阵转置*/p=&y[0][0];/*取首地址*/while(p<=&y[1][2])printf(“%d,”,*p++);/*打印1,3,5,2,4,6,*/}12转置函数的实现voidreverse(intx[][2],inty[][3]){inti,j;for(i=0;i<3;i++)for(
7、j=0;j<2;j++)y[j][i]=x[i][j];}/*作为参数的多维数组,不指定第一维的大小*/13二维字符数组chars[3][4]={"ABC","DEF","GHI"};for(i=0;i<3;i++)printf("%s",s[i]);14二维数组小结doublearr[10][20];存储时按行排列下标范围arr[0][0]–arr[9][19]初始化intx[3][2]={{1,2},{2,2}{3,2}};数组元素访问arr[0][0]=arr[1][2]+9.2;参数声明(传数组首地址
8、)fun(intx[][2])15