为了账号安全,请及时绑定邮箱和手机立即绑定

perl 数组的问题。

perl 数组的问题。

冉冉说 2019-05-31 03:02:46
在看perl的教程。有如下一段:=================================2.特殊的数组索引如果将一个元素存储在数组最后元素的后面的位置,数组会自动增长的。Perl 没有长度的限制,只要你有足够的内存。如果Perl需要创建元素,则其值为undef。有时需要知道数组最后一个元素的索引。如 array 数组,其最后一个元素的索引为$#array一种简便方法:数组的负数索引值从最后一个元素开始。但不要认为这些索引是循环的。如果数组有3 元素,那有效的负数索引值是-1(最后一个元素),-2(中间的元素),-3(第一个元素)。实际上,几乎没有人使用除了-1之外的其它的负数索引值。=====================================其数组的负数索引值最后一个元素的索引为$#array 这2句是什么意思
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

数组的下标从0开始,$#array是一个特殊的变量,它的值就是数组array的最后的元素的下标,假设array有3个值,最后的下标就是2(依次是0、1、2),假设你的数组名字为@HHH,最后的索引就是$#HHH.

负值索引就是从后面依次取数组的索引,依次是(-1,-2,-3,-4,...),就是为了让你方便从数组里面取出值来用的。这样用数组实现一个栈就很容易了。例子你看楼上的就明白了。

查看完整回答
反对 回复 2019-06-01
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

如果一个数组有5个元素,那$#array应该是4了.
负数索引就是倒序,正常是从0开始,而倒序从-1开始;
@a=(1,2,3,4,5);
那么 $#a==4;
$a[$#a]==$a[-1]==$a[4]==5;



查看完整回答
反对 回复 2019-06-01
  • 3 回答
  • 0 关注
  • 494 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信