perl 数组的问题。

在看perl的教程。有如下一段:
=================================
2.特殊的数组索引
如果将一个元素存储在数组最后元素的后面的位置,数组会自动增长的。Perl 没有长度的限制,只要你有足够的内存。如果Perl需要创建元素,则其值为undef。

有时需要知道数组最后一个元素的索引。如 array 数组,其最后一个元素的索引为$#array

一种简便方法:数组的负数索引值从最后一个元素开始。但不要认为这些索引是循环的。如果数组有3 元素,那有效的负数索引值是-1(最后一个元素),-2(中间的元素),-3(第一个元素)。实际上,几乎没有人使用除了-1之外的其它的负数索引值。

=====================================
其数组的负数索引值
最后一个元素的索引为$#array 这2句是什么意思
撒科打诨
浏览 702回答 3
3回答

慕田峪4524236

数组的下标从0开始,$#array是一个特殊的变量,它的值就是数组array的最后的元素的下标,假设array有3个值,最后的下标就是2(依次是0、1、2),假设你的数组名字为@HHH,最后的索引就是$#HHH.负值索引就是从后面依次取数组的索引,依次是(-1,-2,-3,-4,...),就是为了让你方便从数组里面取出值来用的。这样用数组实现一个栈就很容易了。例子你看楼上的就明白了。

拉风的咖菲猫

如数组为@a=(1,2,3,4,5);$a[0]=1;$a[1]=2;$a[-1]=5;$a[4]=5;$a[$#array]=5;$#array=4;

饮歌长啸

如果一个数组有5个元素,那$#array应该是4了.负数索引就是倒序,正常是从0开始,而倒序从-1开始;@a=(1,2,3,4,5);那么 $#a==4;$a[$#a]==$a[-1]==$a[4]==5;
打开App,查看更多内容
随时随地看视频慕课网APP