官术网_书友最值得收藏!

3.4 數(shù)組

Visual Basic中可以使用變量來存放數(shù)字、日期、字符等單個數(shù)據(jù)。在計算中常常會遇到類型相同的一組相關(guān)數(shù)據(jù),仍然使用變量來存放就很不方便,此時可以利用數(shù)組。數(shù)組也就是能夠保存具有相同數(shù)據(jù)類型的多個數(shù)值的存儲空間。

3.4.1 數(shù)組的定義

在內(nèi)存中數(shù)組是一個連續(xù)的內(nèi)存塊。數(shù)組的定義必須用Dim或Global語句聲明。數(shù)組中的每一個數(shù)據(jù)稱為數(shù)組元素,用數(shù)組名和該數(shù)據(jù)在數(shù)組中的序號來標(biāo)識。序號又稱為下標(biāo),數(shù)組元素又稱為下標(biāo)變量。例如,S(2)是一個數(shù)組元素,其中的S稱為數(shù)組名,2是下標(biāo)。在使用數(shù)組元素時,必須把下標(biāo)放在一對緊跟在數(shù)組名之后的括號中。S(3)是一個數(shù)組元素,而S3是一個簡單變量。

如果只用一個下標(biāo)就能確定某個數(shù)組元素在數(shù)組中的位置,這樣的數(shù)組稱為一維數(shù)組。如果用兩個或多個下標(biāo)才能確定某個數(shù)組元素在數(shù)組中的位置,則數(shù)組分別稱為二維數(shù)組或多維數(shù)組。其語法格式如下:

        Dim數(shù)組名([下標(biāo)下限to ]下標(biāo)上限[,[下標(biāo)下限to ]下標(biāo)上限]…) [As數(shù)據(jù)類型]

如下面的語句將定義一個一維數(shù)組。

    Dim MyStr(5) As String

數(shù)組MyStr(5)中包含了6 個元素,數(shù)組的元素從0 開始包括MyStr(0)、MyStr(1)、MyStr(2)、MyStr(3)、MyStr(4)、MyStr(5)。

而下面的語句則定義了一個二維數(shù)組。

    Dim MyStr(4,5) As String

上述的二維數(shù)組包含了5×6=30個元素。

注意

數(shù)組的最大維數(shù)為60。數(shù)組中的所有元素的數(shù)據(jù)類型都必須相同,如果要定義含有不同數(shù)據(jù)類型的數(shù)組,可以將數(shù)組聲明為變體型數(shù)組,或者通過用戶自定義數(shù)據(jù)類型來定義。

3.4.2 動態(tài)數(shù)組

定義數(shù)組時會開辟所需的內(nèi)存區(qū),不同的開辟時機(jī)對應(yīng)不同的數(shù)組:靜態(tài)數(shù)組和動態(tài)數(shù)組。靜態(tài)數(shù)組是在編譯過程時開辟的內(nèi)存數(shù)組,而動態(tài)數(shù)組則是在運行時開辟的內(nèi)存數(shù)組,在未運行時并不占有內(nèi)存。

前面所述為靜態(tài)數(shù)組,要生成動態(tài)數(shù)組,首先用聲明語句聲明不指定數(shù)組維數(shù)和長度的數(shù)組。如下面的語句:

    Dim MyStr() As String

等到后面能確定實際長度的時候,再使用ReDim語句重新確定實際長度,示例如下:

    ReDim MyStr(5)

ReDim語句只能出現(xiàn)在事件過程或通用過程中,所定義的數(shù)組是一個臨時數(shù)組,當(dāng)過程結(jié)束時,這部分內(nèi)存將被釋放。ReDim語句可以反復(fù)使用,用于改變數(shù)組的維數(shù)和元素個數(shù),但不能改變數(shù)組類型。

注意

要在第二次使用Redim語句時保留上一次的數(shù)組數(shù)據(jù),在Redim語句后加Preserve關(guān)鍵字。

主站蜘蛛池模板: 互助| 湘潭县| 石首市| 龙海市| 苗栗县| 金川县| 天峻县| 鄂温| 临泽县| 曲周县| 永泰县| 饶平县| 新绛县| 辽宁省| 绥阳县| 苍梧县| 邹平县| 泗洪县| 乡城县| 金溪县| 康保县| 白河县| 德保县| 于都县| 广西| 信丰县| 邯郸县| 台山市| 二手房| 龙山县| 宁安市| 乐东| 新巴尔虎右旗| 怀来县| 四会市| 武川县| 玉溪市| 太谷县| 辉南县| 桂阳县| 普定县|