Perl語言中的“指針”用法解析
本文和大家重點(diǎn)討論一下Perl語言中的“指針”的概念,它主要用來傳遞復(fù)雜的結(jié)構(gòu),例如多維數(shù)組。希望通過本文的介紹大家對(duì)Perl語言中“指針”的概念有明確的認(rèn)識(shí)。
Perl語言中的“指針”
本文作者介紹了解決在調(diào)用函數(shù)時(shí),如果參數(shù)值和返回值比較多,而且非常復(fù)雜的時(shí)候的方法。一種是使用引用調(diào)用,這樣可以傳遞象數(shù)組、哈希數(shù)組一類的數(shù)據(jù),另外一種就是作者著重介紹的“指針”,主要用來傳遞復(fù)雜的結(jié)構(gòu),例如多維數(shù)組。
在C語言中,指針的使用給我們帶來了很大的方便,但是在Perl語言中沒有直接提供這樣的數(shù)據(jù)類型,在某些情況下就存在一些很不方便的地方。
例如:在調(diào)用函數(shù)時(shí),如果參數(shù)值和返回值比較多,而且非常復(fù)雜的時(shí)候,僅僅是參數(shù)?;蚍祷刂禇J遣粔蛴玫?。這時(shí)候,有兩種解決方法,一種是使用引用調(diào)用,這樣可以傳遞象數(shù)組、哈希數(shù)組一類的數(shù)據(jù),另外一種就是我要著重介紹的“指針”,主要用來傳遞復(fù)雜的結(jié)構(gòu),例如多維數(shù)組。下面,我用多維數(shù)組為例:
多維數(shù)組指針的創(chuàng)建
Perl語言中多維數(shù)組指針的創(chuàng)建非常簡單,具體語句如下:
my$multi_array=[];
這時(shí),$multi-array就是一個(gè)指針,它的內(nèi)容是undefined.下一步我們要給它賦值,語句如下:
@{$multi_array}=((a,...,z),(1,...,10),($a,...,$xx));
這時(shí),$multi-array就成了一個(gè)指向二維數(shù)組的指針,當(dāng)然,如果必要的話,你可以定義更多的維數(shù)。如何使用這個(gè)二維數(shù)組的元素呢?
$multi_array->[0][1]#數(shù)組第一維,第二個(gè)元素
如何使用一行元素呢?
@{$multi_array->[0]}#二維數(shù)組的第一行元素
這樣,你就可以方便的借助指針使用多維數(shù)組了。標(biāo)量$multi_array就象一個(gè)普通的標(biāo)量,在函數(shù)調(diào)用和返回時(shí),就可以直接使用了。
【編輯推薦】
- Perl語言中的五大變量類型
- Perl foreach控制結(jié)構(gòu)中的控制變量
- Perl語言的文字處理模式
- Perl語言中向數(shù)據(jù)庫中寫值的特殊字符問題
- 深入解析Perl內(nèi)部函數(shù)的使用