位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 二維數組元素的初始化

提問人:劉團圓發(fā)布時間:2020-11-30

同一維數組一樣,也可以在定義二維數組時對二維數組進行初始化。對二維數組初始化有以下幾種形式:

(1)分行對二維數組元素賦初值 初始化形式為:

    類型標識符     數組名[行常量表達式][列常置表達式]={{第0行初值表},{第1行初值表}……{最后1行初值表}};

例如:

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

    這種初始化形式非常直觀,賦值規(guī)則是:將“第0行初值表”中的數據,依次賦給第0行中各元素;將“第1行初值表”中的數據,依次賦給第1行各元素;以此類推。


(2)按二維數組在內存中的排列順序給各元素賦初值初始化形式為:

    類型標識符  數組名[行常置表達式][列常置表達式]={初值表};

例如:

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

    因為二維數組在內存中是按行依次存放的,所以賦值規(guī)則為:按二維數組在內存中的排列順序,將初值表中的數據,依次賦給各元素。以數組a[3][4]為例,選取前4個數據,賦給第一行的四個元素;依次再選取4個數據,賦給第二行的四個元素,以此類推。

這種初始化形式的效果與第一種相同,但第一種更直觀一些,也不容易出現(xiàn)多寫、少寫初值數據的 情況。


(3)對每行的部分元素賦初值

初始化形式與第一種相似,但可以不給全部元素賦初值。例如:

    mt a[3][4]-{{l}.{0.3),C8}};

初始化后數組中各元素的值為:

第一行: 1000 

第二行: 0300 

第三行: 8000

這種形式對非0元素較少時比較方便,不必將所有的零都寫出,只需說明必要的數據即可。

(4)如果對全部元素都賦初值,則定義時“行常量表達式”可以省略。但“列常量表達式”不能省略。系統(tǒng)會根據給出的初值總數和列數計算出行數。所以以上三種初始化形式,可以以下述形式出現(xiàn):

int a[ ][4]-{{l,2,3,4J.{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]-{{l},{0,3},{8}};

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部