本文和大家重点讨论一下Perl语言中的“指针”,在C语言中,指针的使用给我们带来了很大的方便,但是在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]#数组第一维,第二个元素
Perl语言中如何使用一行元素呢?
@{$multi_array->[0]}#二维数组的第一行元素
这样,你就可以方便的借助指针使用多维数组了。标量$multi_array就象一个普通的标量,在函数调用和返回时,就可以直接使用了。
【编辑推荐】
- 实例解析Perl语言中BEGIN和END用法
- Perl模式匹配参数使用详解
- Perl语言中Perl函数返回值问题解析
- 学习笔记 Perl split函数用法指导
- 解析Perl语言中Perl类的注释和创建方法