专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

如何声明数组,声明数组的几种方式

来源:小易整编  作者:小易  发布时间:2023-03-22 08:44
摘要:如何声明数组,声明数组的几种方式本节介绍数组的基础知识,包括数组的分类,以及如何声明数组。关于数组的内容相对抽象,会尽量介绍详尽。一、数组的分类1、按维度划分在上节中已经具体的介绍了VBA数组维度的概念。那么可以通过维度来划分数组,在VBA...

如何声明数组,声明数组的几种方式

如何声明数组,声明数组的几种方式

本节介绍数组的基础知识,包括数组的分类,以及如何声明数组。关于数组的内容相对抽象,会尽量介绍详尽。

一、数组的分类

1、按维度划分

在上节中已经具体的介绍了VBA数组维度的概念。那么可以通过维度来划分数组,在VBA中数组供支持最大60维的数组,最常用的就是一至三维数组。超过三维的数组不是特殊情况很少涉及。

数组的维度在使用前即根据需要确定,后面介绍声明数组时会说明。

2、按是否固定大小分

在使用数组之时,根据声明数组时数组的大小是否先固定,可以划分为静态数组和动态数组。

如果声明数组时即确定数组大小即为静态数组。

如果在声明数组不确定数组的大小,先不固定数组的大小,而在程序在运行时使用Redim语句重新定义数组大小即为动态数组。

两种数组的具体声明和使用方法,后面会进行详细介绍。

二、声明数组

在使用变量时,都需要先声明变量,同样在使用VBA数组时,首先也要声明数组,让系统在内存中为它分配一片连续的内存空间。

声明数组时就需要明确是声明的是动态数组还是静态数组,以及声明数组的名称、数组的维度和数据类型等内容。

声明数组的语句和声明变量语句一样,包括有Dim(过程级变量)、Private(声明模块级变量)、Public(声明工程级变量)和Static(声明静态变量)语句来声明。

最常用得到就是Dim语句声明数组,下面按不同的分类来说明和举例。首先是最简单的静态一维数组,均以Dim语句声明过程级数组为例。

1、声明静态一维数组:

Dim 数组名(第1维上界) as 数据类型

声明语句中只有第一维上界时,实际是省略下界,默认的数组的下界为从0开始。也可以由用户自定义下界和上界的数值,具体语句形式如下。

Dim 数组名(第1维下界 to 第1维上界) as 数据类型

下面举例说明,需要声明名为myarray一维的字符串数组,大小为6。由于大小固定,即为静态数组。

dim myarray(5) as string

dim myarray(1 to 6) as string

dim myarray(3 to 8) as string

三种形式声明的名为myarray的数组是大小为6、元素均为字符串的一维静态数组,不同的就是它的索引号不同。(数组的大小为上界-下界+1)。

如果希望数组下界是默认从1开始,可以在用户窗体或者模块的声明部分,通过语句Option Base 1 来设置数组下界默认从1开始。后期介绍示例会介绍。(数组索引号从1开始,对于数组索引号与Excel表格的单元格cells属性对应上更为方便,不容易出错。具体后面介绍数组的使用时会再详细说明。)

数组中的元素就可以表示为数组名称(第一维索引号),索引号的范围在下界和上届之间。

2、声明静态二维数组

声明静态二维数组时,在不同的维度之间需要用英文逗号间隔。具体语句如下:

dim 数组名(第1维上界,第2维上界) as 数据类型

省略每个维度的下界时,系统默认从0开始,下界和上界的数值同样可以自定义。

dim 数组名(第1维下界 to 第1维上界,第2维下界 to 第2维上界) as 数据类型

举例说明,声明名为myarray的数组,3*4大小静态数组。(没有确定数组元素类型时,省略默认为Variant变体型)

dim myarray(2,3)

dim myarray(1 to 3,1 to 4)

dim myarray(3 to 5,4 to 7)

三种形式均是声明大小为3*4的静态数组,数组类型省略,默认为Variant变体型。不同的就是索引号不同。通常都是前两种形式。

使用默认数组数据类型的好处是,可以让数组中元素,保存不同类型的值。从而得到一种混合状态的数组。

数组中的元素就可以表示为数组名称(第一维索引号,第二维索引号),索引号的范围在下界和上届之间。

3、静态三维数组数组

依次类推来介绍声明三维数组,不同维度之间用英文逗号间隔。具体语句如下:

dim 数组名(第1维上界,第2维上界,第3维上界) as 数据类型

dim 数组名(第1维下界 to 第1维上界,第2维下界 to 第2维上界,第3维下界 to 第3维上界) as 数据类型

举例说明,声明名为myarray的数组,3*4*2大小整型数值类型的静态数组。

dim myarray(2,3,1) as integer

dim myarray(1 to 3,1 to 4,1 to 2) as integer

dim myarray(2 to 4,3 to 6,2 to 3) as integer

三种形式均是声明大小为3*4*2的静态数组,数组类型为长整型。上界和下界不同从而使索引号不同。通常是使用前两种形式。

数组中的元素就可以表示为a数组名称(第一维索引号,第二维索引号,第三维索引号),索引号的范围在下界和上届之间。

超过三维的声明数组都是以此类推。

4、声明动态数组

前面介绍静态数组和动态数组的区别,主要是在声明时是否确定数组的大小。下面简单介绍下动态数组的声明方式。

首先在用户窗体、模块或者过程中使用dim或public语句声明一个没有下标的数组。比如:

dim myarray()

然后在程序过程中使用ReDim语句重新定义该数组的大小。具体语句如下:

ReDim [preserve] 数组名(下标) [ as 数据类型 ]

使用ReDim语句可以反复改变数组的大小和维度,但不能用ReDim语句更改已经声明的数据类型,除非是默认的Variant所包含的数据


本节主要说明了数组类型的划分,以及如何声明数组,不同的维度,静态和动态数组、数据类型,默认的下界等等知识点。内容较为抽象后续会结合实例来具体介绍。


本文地址:百科问答频道 https://www.neebe.cn/wenda/936770.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • JS 字符串转数组

    JS 字符串转数组

    JS中,将一个字符串转置为数组,使用到的方法是split(),通过使用split()方法,可以轻松的将一个字符串转换为数组操作方法01新建一个HTML文档,用于承载JS02...

  • 如何声明数组,声明数组的几种方式

    如何声明数组,声明数组的几种方式

    如何声明数组,声明数组的几种方式本节介绍数组的基础知识,包括数组的分类,以及如何声明数组。关于数组的内容相对抽象,会尽量介绍详尽。一、数组的分类1、按维度划分在上节中已经具体的介绍了VBA数组维度的概念。那么可以通过维度来划分数组,在VBA...

  • 如何数组合并,JavaScript合并数组的三种方法

    如何数组合并,JavaScript合并数组的三种方法

    如何数组合并,JavaScript合并数组的三种方法数组作为一种数据结构,表示索引项的有序集合。经常会使用到数组,尤其是将多个数组进行合并,比如将数组[1,2,3]和数组[4,5,6]合并,最终得到数组[1,2,3,4,5,6]。数组的合并...

  • vb数组的基本操作,vb数组的用法

    vb数组的基本操作,vb数组的用法

    vb数组的基本操作,vb数组的用法本节课程,我们学习数组的基本操作。数组的基本操作包含:数组元素的输入输出、插入和删除元素、查询等。数组元素的输入在数组声明后,数组元素的值均为其数据类型的初始值,比如数值型初始值为0。因此,通常在正式使用数...

  • 数组函数是什么,数组函数使用技巧

    数组函数是什么,数组函数使用技巧

    数组函数是什么,数组函数使用技巧数组是按一定顺序排列的集合,简单来说就是一组数据。数组分为一维数组,二维数组1、一维数组分为横向,与纵向可以引用单元格数据创建数组,如下图(在公式中按F9显示内容)横向一维数组观察横向和纵向数组可以发现:数组...

  • json数组,json数组详解

    json数组,json数组详解

    json数组,json数组详解简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。一、数组作为JSON对象["Ford","BMW","Fiat"]在JSON中的数组,几乎和在JavaScript中数组相...

  • 数组转list,java数组转list的三种方法

    数组转list,java数组转list的三种方法

    数组转list,java数组转list的三种方法本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。一.最常见方式(未必最佳)通过Arrays.asList(strArray)方式...

  • python数组的定义,python数组的类型

    python数组的定义,python数组的类型

    python数组的定义,python数组的类型数组,就是一个变量,内有多个元素。一般的数组是二维的,即一个抽象的二维表。但在python中,list、tuple、dict、set等基本变量,本身就包含了多个元素,且可以多层嵌套。所以在pyt...

  • 周排行
  • 月排行
  • 年排行

精彩推荐