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

C語言 二維數(shù)組元素的初始化

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

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

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

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

例如:

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

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


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

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

例如:

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

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

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


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

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

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

初始化后數(shù)組中各元素的值為:

第一行: 1000 

第二行: 0300 

第三行: 8000

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

(4)如果對全部元素都賦初值,則定義時“行常量表達式”可以省略。但“列常量表達式”不能省略。系統(tǒng)會根據給出的初值總數(shù)和列數(shù)計算出行數(shù)。所以以上三種初始化形式,可以以下述形式出現(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)
返回頂部