位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C語(yǔ)言 > 問(wèn)題詳情

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

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-30

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

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

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

例如:

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

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


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

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

例如:

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

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

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


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

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

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

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

第一行: 1000 

第二行: 0300 

第三行: 8000

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

(4)如果對(duì)全部元素都賦初值,則定義時(shí)“行常量表達(dá)式”可以省略。但“列常量表達(dá)式”不能省略。系統(tǒng)會(huì)根據(jù)給出的初值總數(shù)和列數(shù)計(jì)算出行數(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ù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部