動態數組的聲明與例子練習

來源:互聯網
上載者:User

動態數組

在有些情況下,使用者可能不知道需要多大的數組,這時就需要用一個能夠改變大小的數組,這就是動態數組。動態數組可以在任何時侯改變大小。在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只能在改變數組的最後一維大小時,保留數組的資料。對一維數組來說,所有資料都會保留,而對於多維陣列,只能改變最後一維的大小,才能保留全部數組資料,否則出錯。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.