ITPub博客

首页 > IT职业 > IT职场 > 物联网学习教程——二维数组的引用

物联网学习教程——二维数组的引用

原创 IT职场 作者:千锋教育官方 时间:2019-09-04 16:44:30 0 删除 编辑

二维数组元素的表示形式为:

数组名[下标][下标]

例如: a [ 2 ][ 3 ]

下标可以是整型表达式,如 a [ 2-1 ][ 2*2-1 ]

不要写成 a [ 2 , 3 ], a [ 2-1 , 2*2-1 ]形式

数组元素可以出现在表达式中,也可以被赋值

例如:b [ 1 ][ 2 ] =a [ 2 ][ 3 ] /2

在使用数组元素时,应该注意下标值应在已定义的数组大小的范围内。

常出现的错误有:

int a [ 3 ][ 4 ] ;  /* 定义 a 为 3 × 4 的数组 */

      ┆

a [ 3 ][ 4 ] =3;

数据类型

数组名 [ 常量表达式 1][ 常量表达式 2] ={ 初始化数据 };

可以用下面4 种方法对二维数组初始化:

1. 分行给二维数组赋初值。

例如: int a [ 3 ][ 4 ] ={{1 , 2 , 3 , 4} , {5 , 6 , 7 , 8} , {9 , 10 , 11 , 12}};

2. 可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。

4. 如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

例如:int a [ 3 ][ 4 ] ={1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12}; 它等价于: int a [][ 4 ] ={1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12};

在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。

例如:int a [][ 4 ] ={{0 , 0 , 3} , {} , {0 , 10}};

 

 

二维数组程序举例

例4 将一个二维数组行和列元素互换,存到另一个

       二维数组中。

#include <stdio.h>

void main()

  {

     int a [ 2 ][ 3 ] ={{1 , 2 , 3} , {4 , 5 , 6}};

     int b [ 3 ][ 2 ], i , j;

     printf( ″ array a: \ n ″ );

     for (i=0;i<=1;i++)

      {

         for (j=0;j<=2;j++)

           {                  

 

        printf( ″ %5d ″, a [ i ][ j ] );

        b [ j ][ i ] =a [ i ][ j ] ;

      }

    printf( ″\ n ″ );

  }

printf( ″ array b: \ n ″ );

for (i=0;i<=2 ; i++)

  {

    for(j=0;j<=1;j++)

    printf("%5d ″, b [ i ][ j ] );

    printf( ″\ n ″ );

  }

} /* 程序结束 */

例5: 有一个 3 × 4 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

 

 

程序:        

#include <stdio.h>

void main()

{

 int i , j , row=0 , colum=0 , max;

 int a[3][4]={{1 , 2 , 3 , 4} , {9 , 8 , 7 , 6} ,

                  {-10 , 10 , -5 , 2}};

 max=a [ 0 ][ 0 ] ;

 

for (i=0;i<=2;i++)

    for (j=0;j<=3;j++)

       if (a [ i ][ j ] >max)

         {    max=a[i][j];

              row=i;

              colum=j;

          }

       printf( ″ max=%d , row=%d , colum=%d \ n ″,

               max , row , colum);

    } /* 程序结束 */

 

最后:

关注回复“物联网”即可获取物联网全套视频教程

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69914734/viewspace-2656019/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
千锋IT职业教育——做真实的自己 用良心做教育

注册时间:2019-03-28

  • 博文量
    140
  • 访问量
    92334