Perl二维数组的引用和初始化

开发 后端
本文向大家简单介绍一下Perl语言中Perl二维数组的概念及用法,与一维数组一样,多维数组一般也不能整体操作,整体操作需转化成对数组的分量下标变量进行。

本文和大家重点讨论一下Perl二维数组的引用和初始化问题,在学习Perl语言的过程中Perl二维数组问题经常会遇到,这里和大家简单分享一下,希望本文的介绍能让你有所收获。

Perl二维数组的引用和初始化

Perl二维数组的引用

与一维数组一样,多维数组一般也不能整体操作,整体操作需转化成对数组的分量下标变量进行。
下标变量的形式为:数组名[下标表达式1][下标表达式2]
多维数组下标变量的形式为:数组名[下标表达式1][下标表达式2]…
[下标表达式n]

例如,对以上定义的acj数组3000个分量分别为:acj[0][O]、acj[1O][1]、…、acj[O]
[29]、acj[1][O]、acj[1][1]、…、acj[1][29]、…、acj[999][0]、acj[999][1]、…、acj[999]
[29],左边下标变化最慢,右边下标变化最快,右边下标变化一遍,左边下标才变化一次。
每个分量对应一个学生一门课程的成绩,acj—Li][j]相当于一个float型变量。

说明:
(1)每个下标的取值范围从。到数组长度减1,下标变量同样相当于基类型变量,中国自学编程网首发。
(2)对于多维数组整体操作的完成需用多重循环,一个下标对应于一重循环控制变量。Perl二维数组的整体操作用两重循环完成,外重循环对应下标1,内重循环对应下标2。
(3)其它类似于一维数组处理。

Perl二维数组的初始化

Perl二维数组及多维数组的初始化和一维数组类似,只有静态存储数组和外部存储数组,www.zxbc.cn才能在编译阶段初始化。
初始化形式:
存储类别类型数组名[下标1][下标2]={常量l,常量2,…,常量n);

例如:
staticinta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
a[O][O]=1,aEO][1]=2,a[O][2]=3,a[O][3]=4,
a[1][O]=5,a[1][1]=6,a[1][2]=7,a[1][3]=8,
a[2][O]=9,a[2][1]=10,a[2][2]=11,a[2][3]=12

(1)Perl二维数组的初始化可以分行进行。例如,上面的a数组初始化还可以表示为:
staticinta[3][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12));

(2)而定义4行3列的b数组可以表示为:
staticintb[4][3]={{1,2,3),{4,5,6},{7,8,9},{10,11,12});
可以只对数组中部分元素初始化。例如:
a[0][o]=1,a[o][1]=2,a[1][o]=5,a[2][o]=9,其它分量初值取默认值,为o。

(3)如果对Perl二维数组中全部元素初始化,则定义数组时***维的长度可以省略,但第二维的长度不能省略。例如:
staticinta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12);
可以写成
staticinta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
但不能写成
staticinta[][]={1,2,3,4,5,6,7,8,9,10,11,12);
因为两个维数都省略时,可以理解为1*12、12*1、3*4、4*3、2*6、6*2等多种形式,会发生混淆,故只能省略***个维数。

(4)如果对Perl二维数组按行进行初始化,则定义数组时***维的长度也可以省略。例如:
staticinta[][4]={{1,2},{5},{9});[Page]
对于Perl二维数组与多维数组作函数参数跟一维数组作函数参数类同处理,但对形参数组,只有***维的大小可以省略,第二维及其它高维的大小均不能省略。

【编辑推荐】

  1. Perl二维数组用法大全
  2. Perl文件句柄概念详解
  3. Perl二维数组用法全程剖析
  4. Perl基础 Perl数组学习指南
  5. Perl基础 解析Perl标量和数组概念


 

责任编辑:佚名 来源: csdn.net
相关推荐

2009-09-18 11:33:37

C#二维数组初始化

2010-02-06 10:24:48

C++二维数组初始化

2010-07-19 13:06:13

Perl二维数组

2010-07-13 15:15:49

Perl二维数组

2009-08-28 11:24:48

C#一维数组初始化

2021-02-20 20:27:44

数组前缀性能

2010-07-21 13:43:30

Perl数组

2009-08-26 18:28:44

C#数组

2019-11-04 13:50:36

Java数组编程语言

2009-09-08 09:48:34

LINQ初始化数组

2009-09-18 11:15:52

C#数组初始化

2009-10-20 14:03:48

VB.NET数组声明VB.NET数组初始化

2009-06-11 13:26:16

Java数组声明创建

2009-11-16 17:41:41

PHP二维数组

2009-11-16 17:07:58

PHP二维数组

2021-01-15 08:19:26

二维数组LeetCode

2009-09-16 17:29:10

Linq查询二维数组

2021-10-14 08:58:48

Java冒泡排序

2009-09-17 16:06:22

C#数组初始化

2009-11-18 17:53:18

PHP数组初始化
点赞
收藏

51CTO技术栈公众号