用redim語句宣告的陣列是什麼陣列

2025-03-15 03:45:22 字數 3215 閱讀 4978

1樓:bu1400開通

在乙個程式中,同一陣列只能用 dim 語句定義一次。

注意:是用 dim 語句定義一次,不是隻能定義一次。有時可能需要清除陣列的內容或對陣列重新定義,這時可以用 erase 或 redim 語句來實現。

redim 是在過程級中宣告動態陣列變數並分配或重新分配儲存空間。

舉個例子,有乙個 byte 陣列 a,如果我們知道這個陣列上限最大隻能是 4,就用跡運 dim:

dim a as byte(4)

但如果我們不能事先確定它的大小,雹緩或者需要在執行時改變它的大小就要用動態陣列 :

dim a as byte()

redim a(4)

這姿肆梁樣改變大小時會清空原來的資料。

2樓:匿名使用者

dim a() as interger

dim x as interger,dim y as interger

x=2:y=4

redim a(x,y),這時陣列就變成了2*4的二維陣列。

當然,這不是太貼切,勉強看看吧。

書上原話,都是概念,是要記判姿皮的 :「形引數組只能按位址傳遞」,比如有時候a()作為乙個形引數組,括號裡本來就沒有東西,是要重新定義的,這個時候,如果還傳值的話,就沒有意義了,書上有例子,很多時候都是要通過呼叫函式來對某個陣列進行調整的,個人見解。

只能在標準模組的通用宣告處用public說明乙個全域性陣列,概念,書上原話,就是這麼定義的,這個我解釋不了。

如果維界說明不是整數,vb會自動對其用cint()方式冊絕處理,也就是小五舍,大五入,否則取偶。

而維掘差界的範圍是長整型數的範圍,包含小數。

以上為我看書的,為書上知識,自然就會了。

使用redim語句可以改變陣列的型別,對嗎,為什麼

3樓:匿名使用者

不伍州對,redim的格凳橘賣式為。

redim [ preserve ] name(boundlist)

只能改變陣列大小棗逗,不能改變它的型別。

vb中redim語句可以改變陣列的維數和型別嗎?

4樓:網友

可以改變陣列的維數,不可以改變陣列的型別。

redim 為陣列變數重新分配儲存空間。可選項修飾符 preserve 當僅更改最後乙個維度的大小時,用來保留現有陣列中的資料。

使用 redim 語句來更改某個已宣告陣列的乙個或多個維度的大小。如果有乙個較大的陣列,並且您不再需要它的某些元素,redim 可通過減小陣列大小來釋放記憶體。另一方面,如果**確定某個陣列需要更多元素,redim 也可以新增它們。

redim 語句僅適用於陣列。它在標量(只包含單一值的變數)、集合或結構上是無效的。

僅可以在過程級使用 redim。這意味著,變數的「宣告上下文」必須是過程,而不能是原始檔、名稱空間、介面、類、結構、模組或塊。

例如:有乙個byte陣列a,如果我們知道這個陣列上限最大隻能是4,就用dim

dim a as byte(4)

但如果我們不能事先確定它的大小,或者需要在執行時改變它的大小就要用動態陣列。

dim a as byte()

redim a(4)'這樣改變大小時會清空原來的資料。

redim preserve a(4)'這樣改變大小時會保留原來的資料。

5樓:網友

vb中redim語句改變陣列的維數和型別是有以下前提條件的。

可以使用 redim 語句反覆地改變陣列的元素以及維數的數目,但是不能在將乙個陣列定義為某種資料型別之後,再使用 redim 將該陣列改為其它資料型別,除非是。

variant 所包含的陣列。如果該陣列確實是包含在某個 variant 中,且沒有使用 preserve

關鍵字,則可以使用 as type 子句來改變其元素的型別,但在使用了此關鍵字的情況下,是不允許改變任何資料型別的。

如果使用了 preserve 關鍵字,就只能重定義陣列最末維的大小,且根本不能改變維數的數目。例如,如果陣列就是一維的,則可以重定義該維的大小,因為它是最末維,也是僅有的一維。不過,如果陣列是二維或更多維時,則只有改變其最末維才能同時仍保留陣列中的內容。

下面的示例介紹瞭如何在為已有的動態陣列增加其最末維大小的同時而不清除其中所含的任何資料。

6樓:網友

只可以改變陣列的大小, 不能改變維數, 更不能改變型別。,

「使用redim語句,可以改變任何陣列的大小與維數 」這句話是錯的,請問錯在**?謝謝

7樓:朗月清風可見心

redim 為陣列變數重新分配儲存空間。可選項修飾符 preserve 當僅更改最後乙個「維度」的大小時,用來保留現有陣列中的資料。不能改變陣列的「維數」。

8樓:xiaobin在路上

若使用了preserve 話 只能改變陣列最後一維的上界。

9樓:網友

不是任何陣列,只可以動態陣列,靜態不可以。

10樓:網友

應該是改變大小,不能改變維數吧。

vb中陣列什麼情況下要redim

11樓:網友

當宣告乙個陣列沒有說明具體的維數或元素個數時,例如dim student() as string,這時如果想使用這個陣列,則要使用redim重新定義這個陣列,但這時注意要加上陣列的維數或元素個數:redim student(10),即將陣列student含有11個元素,這時可以對這11個元素賦值或取值,但要注意,不可以對陣列再使用redim,否則先前的陣列元素內容都會消失。除非你有必要進行新的設定。

請試試吧。

12樓:網友

1、陣列非固定維數才需要用到。

2、將陣列資料清空可以 redim 陣列維數 0 to 03、陣列新增資料,每次增加陣列維數時可用redim preserve4、redim 對陣列中原來的資料不保持。

而redim preserve 保持資料原來的資料不變。

9.以下有關陣列的說法中,錯誤的是______。 a.使用redim語句,可以改變任何陣列的大小與維數 b.使

13樓:韜光唯行

a就是錯誤的啊。reim一般是用來改變動態陣列的大小的,靜態陣列的大小一般是預先固定的好的。

python函式內宣告的陣列是全域性的嗎

不是全域性的。如果你只是想在函式內弄乙個全域性變數,那麼global可以很好地解決問題,但是如果是陣列的話,你可以這樣 先在函式外定義乙個空列表 陣列 然後再在函式內修改它,這樣就是全域性的啦!python中在哪些情況下必須使用global來宣告全域性變數 以下是乙個多執行緒的python 片段,其...

表達團隊精神的語句,表達團隊精神的語句是什麼?

1 當乙個人受到公眾信任時,他就應該把自己看作為公眾的財產。傑弗遜 2 共同的事業,共同的鬥爭,可以使人們產生忍受一切的力量。奧斯特洛夫斯基 3 科學家不是依賴於個人的思想,而是綜合了幾千人的智慧型,所有的人想乙個問題,並且每人做它的部分工作,新增到正建立起來的偉大知識大廈之中。盧瑟福 4 狼的生存...

英語句子的基本結構,英語句子的基本結構是什麼?

一 簡單句 基本形式 簡單句的基本形式是由乙個主語加乙個謂語構成。其它各種句子形式都是由此句型發展而來,如五大基本句型 1 主語 謂語 s.predicate 這種句型簡稱為主謂結構,其謂語一般都是不及物動詞。2 主語 系動詞 表語 s.link v.predicative 這種句型稱為主係表結構,...