欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

從頭學(xué)習(xí)C語(yǔ)言之二維數(shù)組

 更新時(shí)間:2022年01月27日 10:31:30   作者:極致獵手  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言之二維數(shù)組,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

二維數(shù)組:

引入一個(gè)想法:
一個(gè)變量:相當(dāng)于一個(gè)點(diǎn)。
一維數(shù)組(也就是數(shù)組):點(diǎn)匯聚成為一條直線。
二維數(shù)組:直線匯聚成一個(gè)平面。
三維數(shù)組:平面匯聚成立體圖形。

語(yǔ)法:

類型 數(shù)組名[常量表達(dá)式][常量表達(dá)式]

  • int a[6][6];//6*6,6行6列
  • char b[4][5];//4*5,4行5列
  • double c[6][3];//6*3,6行3列

二維數(shù)組存放方式:

在這里插入圖片描述

二維數(shù)組的訪問(wèn):

  • 數(shù)組名[下標(biāo)][下標(biāo)]
  • a[0][0];//訪問(wèn)a數(shù)組中第一行第一列的元素
  • b[1][3];//訪問(wèn)b數(shù)組中第二行第四列的元素
  • c[3][3];訪問(wèn)c數(shù)組中第四行第四列的元素
  • 同樣要注意下標(biāo)的取值范圍,以防止數(shù)組的越界訪問(wèn)。
  • —比如int a[3][4],其“行下標(biāo)”的取值范圍是0 ~ 2,“列下標(biāo)”的取值范圍是 0 ~ 3,超出任何一個(gè)下標(biāo)的訪問(wèn)都是越界訪問(wèn)。(非常容易中招

二維數(shù)組的初始化

  • 二維數(shù)組在內(nèi)存中是線性存放的,因此可以將所有的數(shù)據(jù)寫在一個(gè)花括號(hào)內(nèi):
  • int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
  • 為了更直觀的表示元素的分布,可以用大括號(hào)將每一行的元素括起來(lái):
  • 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}};
  • 二維數(shù)組也可以僅對(duì)部分元素賦初值:
  • int a[3][4]={{1},{5},{9}};
  • 如果希望整個(gè)二維數(shù)組初始化為0,呢么直接在大括號(hào)里寫一個(gè)0即可:
  • int a[3][4]={0};
  • C99同樣增加了一種新特性:指定初始化的元素。這樣就可以只對(duì)數(shù)組中的某些指定元素進(jìn)行初始哈賦值,而未被賦值的元素自動(dòng)初始化為0:
  • int a[3][4]={[0][0]=1,[1][1]=2,[2][2]=3};
  • 二維數(shù)組的初始化也能偷懶,讓編譯器根據(jù)元素的數(shù)量計(jì)算數(shù)組的長(zhǎng)度。但只有第1維的元素個(gè)數(shù)可以不寫,其他維度必須加上:
  • int a[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

示例:

例一:二維數(shù)組的舒服寫法:

   #include<stdio.h>
   int main()
   {
     int a[3][4]={
       {1,2,3,4},
       {5,6,7,8},
       {9,10,11,12}
     };
     int i,j;
    for(i=0;i<3;i++)
    {
      for(j=0;j<4;j++)
      {
        printf("%d ",a[i][j]);
      }
     printf("\n");
     }
  printf("\n");
    return 0;
  }  

例二:對(duì)前三行每一行的第一個(gè)元素賦初值,其他沒(méi)有被賦值的自動(dòng)補(bǔ)充為0:

   #include<stdio.h>
   int main()
   {
     int a[3][4]={{1},{2},{5}};
     //把前三行每一行的第一個(gè)元素賦初值,其他沒(méi)有被賦值的自動(dòng)補(bǔ)充為0。
   //如果賦值的數(shù),多于三個(gè),后面的會(huì)報(bào)錯(cuò),并且自動(dòng)不算數(shù)。
     //如果沒(méi)有對(duì)數(shù)組進(jìn)行賦值,則得出的結(jié)果為隨機(jī)數(shù)。
    int i,j;
    for(i=0;i<3;i++)
    {
    for(j=0;j<4;j++)
      {
        printf("%d ",a[i][j]);
      }
      printf("\n");
   }
    return 0;
  }  
 

例三:指定數(shù)組元素,其他元素自動(dòng)補(bǔ)充為0:

   #include<stdio.h>
   int main()
   {
     int a[3][4]={[2][3]=1,[2][1]=8,[1][2]=5};
     int i,j;
     for(i=0;i<3;i++)
     {
       for(j=0;j<4;j++)
       {
        printf("%d ",a[i][j]);
      }
      printf("\n");
    }
    return 0;
  }  

例四:證明只有第一維可以不寫數(shù)值:

   #include<stdio.h>  
   int main()  
   {  
     int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};//只有第一維可以不寫
     int i,j;
    for(i=0;i<3;i++)
     {
       for(j=0;j<4;j++)
       {
        printf("%d ",a[i][j]);
      }
    printf("\n");
   }
    return 0;
  }  

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!   

相關(guān)文章

最新評(píng)論