Perl二維數組的引用和初始化
本文和大家重點討論一下Perl二維數組的引用和初始化問題,在學習Perl語言的過程中Perl二維數組問題經常會遇到,這里和大家簡單分享一下,希望本文的介紹能讓你有所收獲。
Perl二維數組的引用和初始化
Perl二維數組的引用
與一維數組一樣,多維數組一般也不能整體操作,整體操作需轉化成對數組的分量下標變量進行。
下標變量的形式為:數組名[下標表達式1][下標表達式2]
多維數組下標變量的形式為:數組名[下標表達式1][下標表達式2]…
[下標表達式n]
例如,對以上定義的acj數組3000個分量分別為:acj[0][O]、acj[1O][1]、…、acj[O]
[29]、acj[1][O]、acj[1][1]、…、acj[1][29]、…、acj[999][0]、acj[999][1]、…、acj[999]
[29],左邊下標變化最慢,右邊下標變化最快,右邊下標變化一遍,左邊下標才變化一次。
每個分量對應一個學生一門課程的成績,acj—Li][j]相當于一個float型變量。
說明:
(1)每個下標的取值范圍從。到數組長度減1,下標變量同樣相當于基類型變量,中國自學編程網首發。
(2)對于多維數組整體操作的完成需用多重循環,一個下標對應于一重循環控制變量。Perl二維數組的整體操作用兩重循環完成,外重循環對應下標1,內重循環對應下標2。
(3)其它類似于一維數組處理。
Perl二維數組的初始化
Perl二維數組及多維數組的初始化和一維數組類似,只有靜態存儲數組和外部存儲數組,www.zxbc.cn才能在編譯階段初始化。
初始化形式:
存儲類別類型數組名[下標1][下標2]={常量l,常量2,…,常量n);
例如:
staticinta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
a[O][O]=1,aEO][1]=2,a[O][2]=3,a[O][3]=4,
a[1][O]=5,a[1][1]=6,a[1][2]=7,a[1][3]=8,
a[2][O]=9,a[2][1]=10,a[2][2]=11,a[2][3]=12
(1)Perl二維數組的初始化可以分行進行。例如,上面的a數組初始化還可以表示為:
staticinta[3][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12));
(2)而定義4行3列的b數組可以表示為:
staticintb[4][3]={{1,2,3),{4,5,6},{7,8,9},{10,11,12});
可以只對數組中部分元素初始化。例如:
a[0][o]=1,a[o][1]=2,a[1][o]=5,a[2][o]=9,其它分量初值取默認值,為o。
(3)如果對Perl二維數組中全部元素初始化,則定義數組時***維的長度可以省略,但第二維的長度不能省略。例如:
staticinta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12);
可以寫成
staticinta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
但不能寫成
staticinta[][]={1,2,3,4,5,6,7,8,9,10,11,12);
因為兩個維數都省略時,可以理解為1*12、12*1、3*4、4*3、2*6、6*2等多種形式,會發生混淆,故只能省略***個維數。
(4)如果對Perl二維數組按行進行初始化,則定義數組時***維的長度也可以省略。例如:
staticinta[][4]={{1,2},{5},{9});[Page]
對于Perl二維數組與多維數組作函數參數跟一維數組作函數參數類同處理,但對形參數組,只有***維的大小可以省略,第二維及其它高維的大小均不能省略。
【編輯推薦】