dim和redim什么区别

dim和redim什么区别... dim和redim什么区别 展开
 我来答
八哥说科技
高粉答主

2019-09-15 · 分享科技资讯,共享科技生活
八哥说科技
采纳数:113 获赞数:78618

向TA提问 私信TA
展开全部

1、功能不同:

DimDim语句声明变量,Dim 语句提供了变量名,ReDim 为数组变量重新分配存储空间。例如:有一个Byte数组A,如果知道数组上限最大只能是4,就用Dim,Dim A As Byte(4)。但如果不能事先确定它的大小,或者需要在运行时改变它的大小就要用动态数组Dim A As Byte() ,ReDim A(4) 。

2、使用场景不同:

仅可以在过程级使用 ReDim。这意味着,变量的“声明上下文”必须是过程,而不能是源文件、命名空间、接口、类、结构、模块或块。由于 Dim 语句中的可选的 As type 子句,可以定义被声明变量的数据类型或对象类型。变量也可以包含来自 Visual Basic 或其它应用程序的对象。

3、运行时改编数组大小的能力不同:

redim可以在在运行时改变它的大小,如果代码确定某个数组需要更多元素,ReDim 也可以添加。不能事先确定数组的大小,或者需要在运行时改变数组的大小就要用Redim动态数组。

参考资料来源:百度百科-VB变量

参考资料来源:百度百科-REDIM

AiPPT
2024-12-03 广告
作为北京饼干科技有限公司的一员,对于市场上各类工具都有所了解。就AiPPT而言,它确实为用户提供了便捷高效的PPT制作体验。通过智能化的辅助功能,用户能够快速生成专业且富有创意的演示文稿,极大地节省了时间和精力。无论是对于个人用户还是企业团... 点击进入详情页
本回答由AiPPT提供
pupbook
2007-07-31 · TA获得超过656个赞
知道小有建树答主
回答量:931
采纳率:40%
帮助的人:270万
展开全部
dim 为定义一个变量
redim为重新定义这个变量,redim一般用于对数组的重新定义。重新定义后会丢失所有数据

ReDim 语句
在过程级中声明动态数组变量并分配或重新分配存储空间。

ReDim [Preserve] varname(subscripts) [, varname(subscripts)] . . .
参数
Preserve
当更改现有数组最后一维的大小时保留数据。
varname
变量名,遵循标准变量命名规则。
subscripts
数组变量的维数,最多可以声明 60 维数组。subscripts 参数语法格式如下:
upper [,upper] . . .

数组的下界总是零。

说明
ReDim 语句通常用于指定或修改动态数组的大小,这些数组已用带有空括号的 Private、Public 或 Dim 语句(没有维数下标)正式声明过。可以重复使用 ReDim 语句更改数组维数和元素数目。

如果使用了 Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。例如,如果数组只有一维,就可以修改该数组的大小,因为该维是最后的也是仅有的一维。但是,如果数组有两个或更多维,就只能改变末维的大小并保留数组内容。

这个例子说明如何不擦掉该数组中存在的数据,而增加动态数组的终止维数。

ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)
警告 如果减小数组的大小,则将丢失被排除的元素中的数据。
变量初始化时,数值变量初始化为 0,字符串变量初始化为零长度字符串 ("")。在使用引用对象的变量前,必须使用 Set 语句将某个现有对象赋予该变量。在进行对象赋值以前,已声明的对象变量有特定值 Nothing。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gui0926
推荐于2017-09-09 · TA获得超过106个赞
知道答主
回答量:47
采纳率:0%
帮助的人:27.5万
展开全部
dim 为定义一个变量
redim为重新定义这个变量,redim一般用于对数组的重新定义。重新定义后会丢失所有数据

ReDim 语句
在过程级中声明动态数组变量并分配或重新分配存储空间。

ReDim [Preserve] varname(subscripts) [, varname(subscripts)]

发现Dim语句时,则自动根据语句中的指定生成一个或几个新变量,即在内存中保留一些空间并为其取名,生成占位符
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ahan335
2007-07-31 · TA获得超过9500个赞
知道大有可为答主
回答量:1373
采纳率:100%
帮助的人:1079万
展开全部
ReDim 为数组变量重新分配存储空间。可选项修饰符 Preserve 当仅更改最后一个维度的大小时,用来保留现有数组中的数据。
使用 ReDim 语句来更改某个已声明数组的一个或多个维度的大小。如果有一个较大的数组,并且您不再需要它的某些元素,ReDim 可通过减小数组大小来释放内存。另一方面,如果代码确定某个数组需要更多元素,ReDim 也可以添加它们。
ReDim 语句仅适用于数组。它在标量(只包含单一值的变量)、集合或结构上是无效的。
仅可以在过程级使用 ReDim。这意味着,变量的“声明上下文”必须是过程,而不能是源文件、命名空间、接口、类、结构、模块或块。
例如:
有一个Byte数组A,如果我们知道这个数组上限最大只能是4,就用Dim
Dim A As Byte(4)
但如果我们不能事先确定它的大小,或者需要在运行时改变它的大小就要用动态数组
Dim A As Byte()
ReDim A(4)'这样改变大小时会清空原来的数据
ReDim Preserve A(4)'这样改变大小时会保留原来的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式