技术开发 频道

Perl语言中的“指针”

  【IT168 技术文档】在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就象一个普通的标量,在函数调用和返回时,就可以直接使用了。

0
相关文章