C語言 二維數(shù)組元素的初始化
同一維數(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}};
點擊加載更多評論>>