每日積累堅持學習,二維數組的初始化你還記得嗎?堅持方能成功

引入二維數組

每日積累堅持學習,二維數組的初始化你還記得嗎?堅持方能成功

現在有三名同學,他們分別四科成績,假設現在存儲他們的成績,那麼該用什麼來存儲,能夠讓成績和他們每個人都對應呢? 如果建立一個數組score,它是二維的,第一維表示學生,第二維表示成績,

例如score[1][2] 代表第一個學生的第二科成績。

我們成稱score就是二維數組,二維數組常稱為矩陣。把二維數組寫成行和列的排列形式,有助於我們形象的理解二維數組的邏輯關係。

每日積累堅持學習,二維數組的初始化你還記得嗎?堅持方能成功

二維數組的初始化

1.分行給二維數組賦初值

例如:

<code>int a[3][4]={{1,2,3,4},{1,2,3,1},{4,5,6,8}};/<code>

這種賦值的方法較為直觀,把第一個花括號的數據給第一行的元素,第二個花括號的數據賦值給第二行元素......

2.可以將所有數據寫在一個花括號裡面,按數組元素內存中的排列順序對各元素賦初值。

例如:

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

3.可以對部分元素賦初值

例如:

<code>int a[3][4]={{1},{0},{2}};/<code>

表示第一行第一個元素為1,其他為0,第二行所有元素為0,第三行第一個元素為2,其他為0;

4.如果對全部元素都賦初值(即提供全部初始數據),則定義數組時對第一維的長度可以不指定,

<strong>但是第二行的長度不能忽略。例如:

<code>int a[3][4]={1,2,3,4,5,6,7,8,9,4,5};/<code>

與下面定義相同:

<code>int a[][4]={1,2,3,4,5,6,7,8,9,4,5};/<code>

系統會根據總個數和第二維的長度計算出第一維的長度。

<strong>在定義時也可以只對部分元素賦初值而省略第一維的長度,但是要分賦初值。

<code>int a [][4]={{1},{},{2}};                          /<code>

這種賦初值和第三中情況類似。

5.輸入賦初值

int a[3][2];/先定義
for(i=0;i<=3;i++) //用雙重for循環賦值,i,j表示二維數組下標
for(j=0;j<=2;j++)
scanf("%d",&a[i][j])

每日積累堅持學習,二維數組的初始化你還記得嗎?堅持方能成功

如有錯誤,歡迎指出!


分享到:


相關文章: