您现在的位置:首页 >> 网络教学 >> 数组 >> 内容

静态数组

时间:2009-6-19 8:42:01 点击:2579

 静态数组

一、静态数组的概念

所谓静态数组是指在程序编译阶段给数组分配内存空间,该数组在没有运行时已有了相应的内存区。静态数组变量的值在定义该变量的程序结束后,该数组所拥有的内存空间不释放,变量的值仍在内存中,再次运行时,将上次运行的结果作为该变量的初始值。只有当整个程序退出时,数组所占内存才会释放。静态数组用Static语句来声明,格式如下:

Static 数组名([下标1下界TO]下标1上界,[下标2下界TO]下标2上界,…)[As类型名]

说明:除不能省略下标的“上界”外,其余与Dim声明数组方法一样。

二、静态数组的应用

由于静态数组具有“记忆”前次运行结果的能力,因此它非常适用于多次运行但不能丢失原有数据的情况,如多个数值的累加。以下示例说明了“静态数组”与“非静态数组”的区别。

[5-7]“静态数组”与“非静态数组”的区别。

程序清单如下:

Option Explicit

Private Sub Command1_Click()

    Static test1(1 To 5) As Integer   ' 说明静态数组

    Dim test2(1 To 5) As Integer      ' 说明非静态数组

    Static start As Integer          ' 说明静态变量

    Dim i As Integer

    If start = 0 Then                ' 仅显示一次标题

        Print "静态数组:"; Tab(30); "非静态数组:"

    End If

    start = start + 1

   

    For i = 1 To 5                    ' 对数组赋值

        test1(i) = test1(i) + i

        test2(i) = test2(i) + i

    Next i

    For i = 1 To 5                    ' 显示静态数组

        Print Tab((i - 1) * 4); test1(i);

    Next i

   

    Print ,

   

    For i = 1 To 5                    ' 显示非静态数组

        Print test2(i);

    Next i

    Print

End Sub

5-5 “静态数组”与“非静态数组”的区别

过程Command1_Click对数组元素做增值运算。图5-5是单击命令按钮5次,即执行5次事件过程后看到的结果,静态数组test1由于“记住”了上一次的结果,所以起到累加作用;而非静态数组test2每一次都重新初始化,所以执行结果都一样。静态简单变量start记录了单击命令按钮的次数,即执行事件过程的次数,所以只有第一次执行事件过程时才显示标题。

作者:Admin  
  • 上一篇:数组
  • 下一篇:动态数组
  • 本类热门
    本类推荐
    本类固顶
    • 没有
  • VB程序设计学习网站(赣南师范学院) © 2008 版权所有 All Rights Reserved.
  • 地址:江西省赣州市经济技术开发区 赣南师范学院数学与计算机科学学院 邮政编码:341000
    Email:ZQ188@163.com 技术支持QQ:87319633 移ICP备10086号
  • GnsySjxy! V2.4