物聯網學習教程——二維陣列的引用

千鋒教育官方發表於2019-09-04

二維陣列元素的表示形式為:

陣列名[下標][下標]

例如: 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 種方法對二維陣列初始化:

. 分行給二維陣列賦初值。

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

. 可以將所有資料寫在一個花括號內,按陣列排列的順序對各元素賦初值。

. 如果對全部元素都賦初值,則定義陣列時對第一維的長度可以不指定,但第二維的長度不能省。

例如: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部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2656019/,如需轉載,請註明出處,否則將追究法律責任。

相關文章