自我感受:

在定义前不知道使用个数可以用 dim 先定义一个数组 dim array() 知道个数时 redim array(n),但如果使用时还是不知道个数,该怎样解决?

也就是说在使用前总应该知道使用的个数,比如循环体循环多少次是不知道的。

例如 while not until eof(1)

循环知道文件尾部

是VB 这点真的很麻烦,还是C却是够强大?

另外VB中没有指针,怎么讲数组的数传入自己定义的函数中进行运算?并将改变后的数组传回主函数?

是我没搞懂吧!哎,菜鸟学习中。!

以下为转载内容

在有些情况下,用户可能不知道需要多大的数组,这时就需要用一个能够改变大小的数组,这就是动态数组。动态数组可以在任何时侯改变大小。在VB中,动态数组是最灵活、最方便的一种数组。利用动态数组还有助于有效管理内存,因为动态数组是使用时才开辟内存空间,在不使用这个数组时,还可以将内存空间释放给系统。这样就可以最大限度地节省内存,提高运行速度。

创建动态数组需要2步,第一步和固定长度数组(静态数组)类似,用Dim语句(或Private、Public、Static)声明,但是不要指定维数。如:

Dim MyArry () As Integer

第二步在以后的实际程序中,当要用到该数组时,再用ReDim语句分配实际的元素个数,这时需要确定元素的个数。如前面声明的数组MyArry,可以用下面语句将它定义为一个二维数组:

ReDim MyArry(10,10)

ReDim语句只能出现在过程中。与Dim语句、Static语句这些变量声明语句不同,ReDim语句是—个可执行语句,ReDim语句可以改变元素数目以及上下界,但在第一个ReDim语句定义了数组维数之后,就不能够再改变数组维数(最多能定义的维数是60),只能改变数组边界。如:

Dim MyArry () As Single  '声明动态数组
    ReDim MyArry(30,20,10)   '重新定义数组
    ReDim MyArry(50,23,21)   '再次重新定义数组(这时不能再改变维数)

每次执行ReDim语句时,Visual Basic会把动态数组中的数值重新初始化一遍,当前存储在数组中的值都会全部丢失。但是用户有时希望只改变数组大小,但不丢失数组中的数据。这时,可以使用带Preserve关键字的ReDim语句。其格式为:

ReDim  Preserve 数组名([下标下界 To]下标上界) [As 数据类型]

例如:

ReDim MyArry(50,23,21)

ReDim Preserve MyArry(50,23,50)

注意:用Preserve只能在改变数组的最后一维大小时,保留数组的数据。对一维数组来说,所有数据都会保留,而对于多维数组,只能改变最后一维的大小,才能保留全部数组数据,否则出错。

关于Redim 和 Dim的应用相关推荐

  1. VBA - Redim an Array

    转载自:http://www.dailydoseofexcel.com/archives/2004/06/28/redim-an-array/ Array variables can be stati ...

  2. 用计算机KADIO算方差,KADIO计算器怎样算方差

    满意答案 akcek502375 2013.06.18 采纳率:45%    等级:12 已帮助:4113人 1. 因为f(x)在x 2.如上所述,f(x)在[a,b]可导就一定有f(x)在[a,b] ...

  3. 立方根用计算机怎么输入,平方根立方根怎么用电脑计算机表示?

    2006-04-09 举例说明如何用计算器计算:均值.方差.n 1. 因为f(x)在xf(x)dx≥0, 但∫f(x)dx=0,∴[a,b]上f(x)≡0但由f(x)在[a,b]连续,在(a,b)可导 ...

  4. 如何用计算机算标准误差,举例说明如何用计算器计算:均值、方差、n项和、标准差...

    1. 因为f(x)在xf(x)dx≥0, 但∫f(x)dx=0,∴[a,b]上f(x)≡0但由f(x)在[a,b]连续,在(a,b)可导是不能推出f(x)在[a,b]可导的.如果f(x)在[a,b]可 ...

  5. 用计算机算25的四次幂,如何用计算器算1?

    2006-04-09 举例说明如何用计算器计算:均值.方差.n 1. 因为f(x)在xf(x)dx≥0, 但∫f(x)dx=0,∴[a,b]上f(x)≡0但由f(x)在[a,b]连续,在(a,b)可导 ...

  6. VB中dim与redim的区别?

    dim:定义一个固定维数的数组,如dim arr(100). redim:重新定义动态数组的维数,必须先用dim定义一个动态数组: dim arr(),然后可重新定义:redim arr(2,100) ...

  7. VBA关于数组Dim,ReDim Preserve运行速度对比思考

    VBA关于数组Dim,ReDim Preserve运行速度对比思考 如何插入一段漂亮的代码片 以前看教程经常有人说ReDim Preserve动态定义数组运行速度非常慢,特做测试分析是否真的想网友说的 ...

  8. VB中Dim和Redim的区别

    dim:定义一个固定维数的数组,如dim arr(100). redim:重新定义动态数组的维数,必须先用dim定义一个动态数组: dim arr(),然后可重新定义:redim arr(2,100) ...

  9. dim和redim什么区别

    dim 为定义一个变量 redim为重新定义这个变量,redim一般用于对数组的重新定义.重新定义后会丢失所有数据 ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间. ReDim ...

最新文章

  1. ​ImageNet的top-1终于上了90%,网友质疑:用额外数据集还不公开,让人怎么信服?...
  2. Java知多少(87)选择框和单选按钮(转)
  3. 转 PHP 使用 Redis
  4. 阿里云MaxCompute(大数据)公开数据集---带你玩转人工智能
  5. python统计httpd 进程的内存占用百分比
  6. 论文浅尝 - ICLR2020 | 具有通用视觉表示的神经机器翻译
  7. GPB | 陈润生/何顺民团队发布新版SmProt数据库,提供小蛋白丰富、可靠的系统性注释...
  8. 移动端上传照片 预览+Draw on Canvas's Demo(解决 iOS 等设备照片旋转 90 度的 bug)...
  9. go 正则表达式分组匹配_Go语言正则表达式用法实例小结【查找、匹配、替换等】...
  10. python跟人工智能的关系_Python和人工智能的关系
  11. access数据库驱动的安装方法
  12. IO 和NIO的区别
  13. 抢滩新零售混战 实力战将才不惧双十一 附:双十一红包雨时间表
  14. 笔记本可以连wifi,但很卡或者无法访问互联网的一种解决方法
  15. Python 数据处理与分析(三) 设计一个高回报的投资组合(投资回报和风险分析)任务 2:计算不同类型的收益率和投资组合的收益率
  16. 俱乐部2006年的首次活动-ASP.NET Webpart 开发交流会暨2005回顾
  17. 星星之火-11:什么是无线资源以及无线资源管理RRM?
  18. oracle数据库 tds是什么,别被忽悠了才后悔 TDS值到底是什么
  19. 通过get和post访问HTTP接口的方法
  20. python话圣诞树_python画圣诞树

热门文章

  1. 文件格式大全(A-H)
  2. Android前台服务讲解二之自定义通知视图(RemoteViews)及数据UI更新
  3. python怎样把两个图画到一起_如何使用python或matlab将多个图像堆叠在一起?
  4. day17 - Web前端概述
  5. [转]F#,印度数学教育与优秀编程
  6. 行云集团独家冠名纪录片《风从东风来》,讲述中国品牌故事
  7. 网站建设完成后为什么百度不收录网站
  8. 北大强基计划有计算机吗,北大强基计划
  9. keil怎么将c语言烧写软件下载,Keil-MDK编译完成后自动烧写下载
  10. 微信小程序 阻止 onshow请求数据