C語(yǔ)言 二維數(shù)組元素的初始化
同一維數(shù)組一樣,也可以在定義二維數(shù)組時(shí)對(duì)二維數(shù)組進(jìn)行初始化。對(duì)二維數(shù)組初始化有以下幾種形式:
(1)分行對(duì)二維數(shù)組元素賦初值 初始化形式為:
類(lèi)型標(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行各元素;以此類(lèi)推。
(2)按二維數(shù)組在內(nèi)存中的排列順序給各元素賦初值初始化形式為:
類(lè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è)元素,以此類(lèi)推。
這種初始化形式的效果與第一種相同,但第一種更直觀一些,也不容易出現(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}};
點(diǎn)擊加載更多評(píng)論>>