Perl語言中的“指針”用法解析
本文和大家重點討論一下Perl語言中的“指針”的概念,它主要用來傳遞復雜的結構,例如多維數組。希望通過本文的介紹大家對Perl語言中“指針”的概念有明確的認識。
Perl語言中的“指針”
本文作者介紹了解決在調用函數時,如果參數值和返回值比較多,而且非常復雜的時候的方法。一種是使用引用調用,這樣可以傳遞象數組、哈希數組一類的數據,另外一種就是作者著重介紹的“指針”,主要用來傳遞復雜的結構,例如多維數組。
在C語言中,指針的使用給我們帶來了很大的方便,但是在Perl語言中沒有直接提供這樣的數據類型,在某些情況下就存在一些很不方便的地方。
例如:在調用函數時,如果參數值和返回值比較多,而且非常復雜的時候,僅僅是參數棧或返回值棧是不夠用的。這時候,有兩種解決方法,一種是使用引用調用,這樣可以傳遞象數組、哈希數組一類的數據,另外一種就是我要著重介紹的“指針”,主要用來傳遞復雜的結構,例如多維數組。下面,我用多維數組為例:
多維數組指針的創建
Perl語言中多維數組指針的創建非常簡單,具體語句如下:
my$multi_array=[];
這時,$multi-array就是一個指針,它的內容是undefined.下一步我們要給它賦值,語句如下:
@{$multi_array}=((a,...,z),(1,...,10),($a,...,$xx));
這時,$multi-array就成了一個指向二維數組的指針,當然,如果必要的話,你可以定義更多的維數。如何使用這個二維數組的元素呢?
$multi_array->[0][1]#數組第一維,第二個元素
如何使用一行元素呢?
@{$multi_array->[0]}#二維數組的第一行元素
這樣,你就可以方便的借助指針使用多維數組了。標量$multi_array就象一個普通的標量,在函數調用和返回時,就可以直接使用了。
【編輯推薦】