【學習筆記】【C語言】二維數組,學習筆記二維數組

來源:互聯網
上載者:User

【學習筆記】【C語言】二維數組,學習筆記二維數組
1. 什麼是二維數組

一個數組能表示一個班人的年齡,如果想表示很多班呢?

什麼是二維數組?int ages[3][10]; 三個班,每個班10個人

相當於3行10列

相當於裝著3個一維數組

二維數組是一個特殊的一維數組:它的元素是一維數組。例如int a[2][3]可以看作由一維數組a[0]和一維數組a[1]組成,這兩個一維數組都包含了3個int類型的元素

2.二維數組的定義

二維數組定義的一般形式是:
    類型說明符 數組名[常量運算式1][常量運算式2]
其中常量運算式1表示第一維下標的長度,常量運算式2 表示第二維下標的長度。例如:

int a[3][4];

說明了一個三行四列的數組,數組名為a,其下標變數的類型為整型。該數組的下標變數共有3×4個,即:
    a[0][0], a[0][1], a[0][2], a[0][3]
    a[1][0], a[1][1], a[1][2], a[1][3]
    a[2][0], a[2][1], a[2][2], a[2][3]
二維數組在概念上是二維的,即是說其下標在兩個方向上變化,下標變數在數組中的位置也處於一個平面之中,而不是象一維數組只是一個向量。但是,實際的硬體儲存空間卻是連續編址的,也就是說儲存空間單元是按一維線性排列的。如何在一維儲存空間中存放二維數組,可有兩種方式:一種是按行排列, 即放完一行之後順次放入第二行。另一種是按列排列, 即放完一列之後再順次放入第二列。 在C語言中,二維數組是按行排列的。即,先存放a[0]行,再存放a[1]行,最後存放a[2]行。每行中有四個元素也是依次存放。由於數組a說明為int類型,該類型佔兩個位元組的記憶體空間,所以每個元素均佔有兩個位元組。

 

3.二維數組元素的引用

二維數組的元素也稱為雙下標變數,其表示的形式為:
    數組名[下標][下標]
其中下標應為整型常量或整型運算式。例如:
    a[3][4]
表示a數組三行四列的元素。
下標變數和數組說明在形式中有些相似,但這兩者具有完全不同的含義。數組說明的方括弧中給出的是某一維的長度,即可取下標的最大值;

而數組元素中的下標是該元素在數組中的位置標識。前者只能是常量,後者可以是常量,變數或運算式。

 

4.代碼

 1 int main() 2 { 3     /* 4     int ages[5] = {10, 11, 90, 89, 70}; 5      6     int ages2[3][5]= { 7         {10, 11, 90, 89, 70}, 8          9         {10, 11, 90, 89, 70},10         11         {10, 11, 90, 89, 70}12     };*/13     char cs[2][3];14     15     /*16      1 淺藍色17      2 深藍色18      3 黃色19      4 紅色20      -1 沒有21      */22     23     int cubes[5][5] = {24         {1, -1, -1, -1, -1},25         {1, 1, -1, 2, -1},26         {4, 1, 2, 2, 2},27         {4, 3, 3, 3, 3},28         {4, 3, 3, 3, 3}29     };30     31     /*32      1 白色33      2 黑色34      -1 沒有35      */36     int wuzi[6][6] = {37         {};38     };39     40     41     return 0;42 }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.