top
Loading...
Perl語言中的“指針”
  在C語言中,指針的使用給我們帶來了很大的方便,但是在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就象一個普通的標量,在函數調用和返回時,就可以直接使用了。

北斗有巢氏 有巢氏北斗