第9章:二维数组讲稿.pptVIP

  • 4
  • 0
  • 约4.68千字
  • 约 30页
  • 2017-05-09 发布于湖北
  • 举报
9.5.2 二维数组元素的引用 引用形式如下: 二维数组名[行下标表达式] [列下标表达式] int b[3][4]; printf(“%d”,b[2][3]); printf(“%d”,b[3][0]); printf(“%d”,b[3][4]); 注意:引用时下标不能越界。 9.5.2 二维数组的初始化(赋初值) p-124 int b[3][4]={ 0,1,2,3,4,5,6,7,8,9,10,11 }; int b[3][4]={ { 0,1,2,3 } , { 4,5,6,7 } ,{ 8,9,10,11 } }; int b[3][4]={ 1,2,3 }; int b[3][4]={ { 1 } , { 2 } , { 3 } } ; 0 1 2 3 0 1 2 9.5.4 可以通过赋初值来定义二维数组的大小 p-125 int s[ ][ ]={ { 0,1,2,3 } , { 4,5,6,7 } ,{ 8,9,10,11 } }; int s[ ][4 ]={ { 0,1,2,3 } , { 4,5,6,7 } ,{ 8,9,10,11 } }; int b[ ][3]={ 0,1,2,3,4,5,6 }; int b[ ][3]; 规定:对于二维数组,在任何时候都不能省略列下标 二维数组元素的整体输入输出 main() { int a[2][3],i,j; for(i=0;i2;i++) for(j=0;j3;j++) scanf(%d,a[i][j] ) ; for(j=0;j2;j++) for(i=0;i3;i++) printf(%4d,a[j][i] ) ; } 二维数组元素的整体输入输出 –按行输出 main() { int a[2][3],i,j; for(i=0;i2;i++) for(j=0;j3;j++) scanf(%d,a[i][j] ) ; for(i=0;i2;i++) { for(j=0;j3;j++) printf(“%4d”,a[i][j] ) ; printf(“\n”); } } 9.5.5 二维数组的定义和数组元素引用举例 p-125 例9.2 通过键盘给2×3的二维数组输入数据,第一行赋1、2、3,第二行赋10、20、30。然后按行输出此二维数组。 main( ) { int a[2][3],i,j; for(i=0;i2;i++) for(j=0;j3;j++) scanf(%d,a[ i ][ j ]); for(j=0;j2;j++) { for(i=0;i3;i++) printf(%4d,a[ j ][ i ]); printf(\n); } } 9.6 二维数组和指针 p-126 二维数组名也是地址,即该数组所占一串连续存储单元的首 地址,但二维数组名与一维数组名代表地址时基类型是不同 的。二维数组名加1表示移动一行,一维数组名加1表示移动 一个存储单元。二维数组名也是地址常量,故不能重新赋值。 int a[3][3], b[8]; a==a[0][0] a+1==a[1][0] b+1==b[1] 为什么二维数组名加1表示下一行的地址? P-127 二维数组实际上是一个一维数组,这个一维数组的每个成员 又是一个一维数组。例如: int a[3][3] ; a[0][0] a[0] a[0][1] a[0][2] a[1][0] a[3][3] a[1] a[1][1] a[1][2] a[2][0] a[2] a[2][1] a[2][2] 重点等价式: 1、a==a[0][0] 2、a+1==a[1][0] 3、a[0]==a[0][0] a[1]==a[1][0] a[2]==a[2][0] 要表示数组元素a[i][j]的地址可用以下三种表达

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档