本文和大家重点讨论一下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就象一个普通的标量,在函数调用和返回时,就可以直接使用了。
【编辑推荐】