關於動態陣列的儲存方式

2021-05-22 13:11:20 字數 623 閱讀 4036

在vb.net中可以使用動態陣列,動態陣列和普通的固定陣列一樣,在記憶體中是連續的。

當使用redim語句重新定義陣列的大小時,redim語句會釋放現有陣列並且建立具有相同秩的新陣列,最後根據該陣列的型別為其設定預設值。

在使用redim語句的同時,加上preserve關鍵字的情況下,重新建立的陣列會保留重新建立之前的陣列中的值。

例:dim arr1() as integer

redim arr1(0)

for i as integer = 1 to 10

redim preserve arr1(i)

arr1(i) = i

next i

msdn上的解釋:

陣列替換。redim 釋放現有陣列並且建立具有相同秩的新陣列。新陣列將替換陣列變數中已釋放的陣列。

不使用 preserve 初始化。如果未指定 preserve,redim 會將新陣列的元素初始化為它們資料型別的預設值。

使用 preserve 初始化。如果指定 preserve 修飾符,visual basic 會將這些元素從現有陣列複製到新陣列。

堆 棧 動態儲存方式 靜態儲存方式

動態儲存方式 所謂動態儲存方式是指在程式執行期間根據需要進行動態的分配儲存空間的方式。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被呼叫時,才予以分配,呼叫函式完畢立即釋放。如果乙個函式被多次呼叫...

堆 棧 動態儲存方式 靜態儲存方式

熱度 3 已有 358 次閱讀 2011 1 14 00 32 動態儲存方式 所謂動態儲存方式是指在程式執行期間根據需要進行動態的分配儲存空間的方式。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被...

動態儲存方式和靜態儲存方式

從變數的作用域的角度來觀察,變數可以分為全域性變數和區域性變數 從變數值存在的時間 即生存期 觀察,變數的儲存有兩種不同的方式 靜態儲存方式和動態儲存方式 使用者區程式區 靜態儲存區 動態儲存區 資料存放在靜態儲存區和動態儲存區 靜態儲存區 全域性變數全部儲存在靜態儲存區 程式開始執行時給全域性變數...