溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言中的二維數(shù)組該怎么理解

發(fā)布時(shí)間:2022-01-27 11:03:52 來源:億速云 閱讀:172 作者:kk 欄目:開發(fā)技術(shù)

小編今天帶大家了解C語言中的二維數(shù)組該怎么理解,文中知識(shí)點(diǎn)介紹的非常詳細(xì)。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內(nèi)容,希望能夠幫助更多想解決這個(gè)問題的朋友找到問題的答案,下面跟著小編一起深入學(xué)習(xí)“C語言中的二維數(shù)組該怎么理解”的知識(shí)吧。

    二維數(shù)組:

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

    語法:

    類型 數(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ù)組存放方式:

    C語言中的二維數(shù)組該怎么理解

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

    • 數(shù)組名[下標(biāo)][下標(biāo)]

    • a[0][0];//訪問a數(shù)組中第一行第一列的元素

    • b[1][3];//訪問b數(shù)組中第二行第四列的元素

    • c[3][3];訪問c數(shù)組中第四行第四列的元素

    • 同樣要注意下標(biāo)的取值范圍,以防止數(shù)組的越界訪問。

    • —比如int a[3][4],其“行下標(biāo)”的取值范圍是0 ~ 2,“列下標(biāo)”的取值范圍是 0 ~ 3,超出任何一個(gè)下標(biāo)的訪問都是越界訪問。(非常容易中招

    二維數(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)將每一行的元素括起來:

    • 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ù)組也可以僅對部分元素賦初值:

    • int a[3][4]={{1},{5},{9}};

    • 如果希望整個(gè)二維數(shù)組初始化為0,呢么直接在大括號(hào)里寫一個(gè)0即可:

    • int a[3][4]={0};

    • C99同樣增加了一種新特性:指定初始化的元素。這樣就可以只對數(shù)組中的某些指定元素進(jìn)行初始哈賦值,而未被賦值的元素自動(dòng)初始化為0:

    • int a[3][4]={[0][0]=1,[1][1]=2,[2][2]=3};

    • 二維數(shù)組的初始化也能偷懶,讓編譯器根據(jù)元素的數(shù)量計(jì)算數(shù)組的長度。但只有第1維的元素個(gè)數(shù)可以不寫,其他維度必須加上:

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

    示例:

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

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

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

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

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

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

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

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

    C語言是什么

    C語言是一門面向過程的、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā),使用C語言可以以簡易的方式編譯、處理低級存儲(chǔ)器。

    感謝大家的閱讀,以上就是“C語言中的二維數(shù)組該怎么理解”的全部內(nèi)容了,學(xué)會(huì)的朋友趕緊操作起來吧。相信億速云小編一定會(huì)給大家?guī)砀鼉?yōu)質(zhì)的文章。謝謝大家對億速云網(wǎng)站的支持!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI