初始值個(gè)數(shù)小于數(shù)組元素的個(gè)數(shù),數(shù)組未初始化的默認(rèn)值
- 夕逆IT
- 開(kāi)發(fā)語(yǔ)言
- 2023-08-13
- 312
大家好,關(guān)于初始值個(gè)數(shù)小于數(shù)組元素的個(gè)數(shù)很多朋友都還不太明白,今天小編就來(lái)為大家分享關(guān)于數(shù)組未初始化的默認(rèn)值的知識(shí),希望對(duì)各位有所幫助!VB中數(shù)組的定義是什么一、數(shù)組的...
大家好,關(guān)于初始值個(gè)數(shù)小于數(shù)組元素的個(gè)數(shù)很多朋友都還不太明白,今天小編就來(lái)為大家分享關(guān)于數(shù)組未初始化的默認(rèn)值的知識(shí),希望對(duì)各位有所幫助!
VB中數(shù)組的定義是什么
一、數(shù)組的概念
數(shù)組是一組具有相同類型和名稱的變量的集合。這些變量稱為數(shù)組的元素,每個(gè)數(shù)組元素都有一個(gè)編號(hào),這個(gè)編號(hào)叫做下標(biāo),我們可以通過(guò)下標(biāo)來(lái)區(qū)別這些元素。數(shù)組元素的個(gè)數(shù)有時(shí)也稱之為數(shù)組的長(zhǎng)度。
一般情況下,數(shù)組的元素類型必須相同,可以是前面講過(guò)的各種基本數(shù)據(jù)類型。但當(dāng)數(shù)組類型被指定為變體型時(shí),它的各個(gè)元素就可以是不同的類型。
數(shù)組和變量一樣,也是有作用域的,按作用域的不同可以把數(shù)組分為:過(guò)程級(jí)數(shù)組(或稱為局部數(shù)組)、模塊級(jí)數(shù)組以及全局?jǐn)?shù)組。
二、定長(zhǎng)數(shù)組和動(dòng)態(tài)數(shù)組
定長(zhǎng)數(shù)組
定長(zhǎng)數(shù)組的長(zhǎng)度是在定義時(shí)就確定的,在程序運(yùn)行過(guò)程中是固定不變的。其定義格式為:
Dim數(shù)組名([下界TO]上界)[As類型名]
其中,數(shù)組的下界和類型是可選的。所謂下界和上界,就是數(shù)組下標(biāo)的最小值和最大值。缺省下界時(shí),vB默認(rèn)的下界是0,但通常人們習(xí)慣上是從1開(kāi)始的,因此我們可以設(shè)置讓數(shù)組的默認(rèn)下界為1,這需要在每個(gè)模塊的“(聲明)”部分添加一行代碼:
如果定義數(shù)組時(shí)不指定其類型,默認(rèn)是變體型的。
下面舉例說(shuō)明定長(zhǎng)數(shù)組的定義:
①Dim
a(1to3)AsInteger
②Dimb(5to9)AsString
③Dimc(7)AsInteger
④Dim
d(6)
其中,例①定義了一個(gè)具有三個(gè)元素的整型數(shù)組,其下標(biāo)從1到3。例②定義了一個(gè)具有五個(gè)元素的字符型數(shù)組,其下標(biāo)從5到9。例③缺省了下界,它定義了一個(gè)具有八個(gè)元素的整型數(shù)組,其下標(biāo)從0到7。例④則缺省了下界和類型,定義的是具有七個(gè)元素的變體型數(shù)組,其下標(biāo)從0到6。如果在該模塊的“(聲明)”部分添加了Option
base1,則例③和例④的下標(biāo)都是從l開(kāi)始了。
在定義定長(zhǎng)數(shù)組時(shí),其上界和下界必須是常數(shù)或常量表達(dá)式。
動(dòng)態(tài)數(shù)組
在很多情況下,數(shù)組的長(zhǎng)度事先是無(wú)法預(yù)測(cè)的,而且有時(shí)可能需要在程序中改變數(shù)組的長(zhǎng)度以適應(yīng)新的情況,因此出現(xiàn)了動(dòng)態(tài)數(shù)組。動(dòng)態(tài)數(shù)組是在定義數(shù)組只指定數(shù)組名及其類型,等以后知道數(shù)組的長(zhǎng)度或需要改變數(shù)組長(zhǎng)度時(shí)再用“ReDim”指定它的長(zhǎng)度。現(xiàn)舉例如下:
DimXASInteger
Dima()AsString
……
ReDima(x)
……
X=X+3
ReDim
a(x)
其中的“…”代表其它代碼。這段代碼首先定義了一個(gè)整型變量和—個(gè)字符型的動(dòng)態(tài)數(shù)組,之后經(jīng)過(guò)一系列運(yùn)算后使變量X得到一個(gè)定值,再使用“ReDim”指定數(shù)組的長(zhǎng)度,最后根據(jù)需要又再一次改變了數(shù)組的長(zhǎng)度。
雖然可以一次或多次改變動(dòng)態(tài)數(shù)組的長(zhǎng)度,但當(dāng)重新指定數(shù)組長(zhǎng)度時(shí),數(shù)組內(nèi)原有的數(shù)據(jù)降會(huì)被清除。如果既想改變數(shù)組的長(zhǎng)度,又想保留數(shù)組原有的數(shù)據(jù),則在使用“ReDim”時(shí)需要加上“Preserve”關(guān)鍵字。例如:ReDim
Preserve
a(x)。但要注意,如果縮小數(shù)組長(zhǎng)度,那么數(shù)組中超出新的下界到上界之間的元素將清除,即使使用了“Preserve’’關(guān)鍵字,也不會(huì)保留這些元素,如果仍然訪問(wèn)這些元素將會(huì)引起“下標(biāo)越界”的錯(cuò)誤!
當(dāng)不需要再使用某個(gè)動(dòng)態(tài)數(shù)組時(shí),我們可以使用“Erase”刪除該數(shù)組,以釋放該數(shù)組占用的內(nèi)存空間,例如:Erase
a()。
三、多維數(shù)組及數(shù)組元素的引用
一個(gè)數(shù)組可以是一維的,也可以是多維。當(dāng)需要表示平面中的一個(gè)點(diǎn)坐標(biāo),就需要用到二維數(shù)組;表示空間中的一個(gè)點(diǎn)時(shí),就需要用到三維數(shù)組。多維數(shù)組的定義格式為:
Dim數(shù)組名([下界TO]上界[,TO上界[下界TO]
[,…])[AS類型名]
多維數(shù)組的定義格式與—一維數(shù)組基本上是一致的,只是多加幾個(gè)上界和下界。
現(xiàn)在舉例如下:
Dima(1TO3,1
TO4)AsInteger
Dimb(5,9)AsSiring
Dimb(4,3)
這三行語(yǔ)句分別定義了一個(gè)兩維數(shù)組,第一個(gè)指定了下界及類型;第二個(gè)只指定了類型
使用默認(rèn)的下界;最后一個(gè)下界和類型都沒(méi)有指定,其類型是變體型的。
對(duì)數(shù)組元素的引用,是數(shù)組名加下標(biāo)的形式。例如:
Dima(5)as
Integer
Dimb(3,4)as
Integer
a(1)=3
a(2)=5
a(3)=a(1)+a(2)
b(2,1)=a(2)
msgbox
a(3)
msgbox
b(2,1)
在此例中,先對(duì)數(shù)組a的前三個(gè)元素賦值,再給數(shù)組b的一個(gè)元素賦值,最后顯示兩個(gè)數(shù)組元素的值。用數(shù)組元素時(shí),其下標(biāo)不要超出了下界至上界的范圍。
list數(shù)組的初始值
在大多數(shù)編程語(yǔ)言中,list數(shù)組的初始值通常是一個(gè)空數(shù)組。這意味著在創(chuàng)建list數(shù)組時(shí),它不包含任何元素??梢酝ㄟ^(guò)向數(shù)組中添加元素來(lái)填充它。
有些編程語(yǔ)言也允許在創(chuàng)建數(shù)組時(shí)指定初始值,這樣數(shù)組將包含指定的元素。初始值可以是任何數(shù)據(jù)類型,包括數(shù)字、字符串、布爾值等。
在某些情況下,數(shù)組的初始值可能是由編程語(yǔ)言或框架提供的默認(rèn)值,這取決于具體的實(shí)現(xiàn)。無(wú)論如何,數(shù)組的初始值可以根據(jù)需要進(jìn)行修改和更新。
二維數(shù)組不賦值默認(rèn)為多少
默認(rèn)是0。
一般來(lái)說(shuō)在main前定義的數(shù)組默認(rèn)值都為0。
如果想要在函數(shù)內(nèi)定義數(shù)組中所有的值都默認(rèn)成為0的話,只需在定義數(shù)組時(shí)這樣寫(xiě):intnum[2][2]={0};這樣數(shù)組里面所有的值都被設(shè)成0了。
如果想要它成為其他值,則需要配合循環(huán)結(jié)構(gòu)或者直接賦值,比如:intnum[2][2]={1,1,1,1};如果數(shù)組里的元素過(guò)多,則建議使用循環(huán)結(jié)構(gòu)。
c語(yǔ)言中數(shù)組元素的類型與默認(rèn)值
數(shù)組所有元素默認(rèn)值都是“零”整數(shù),浮點(diǎn)數(shù)不必說(shuō)了布爾型:false(c語(yǔ)言傳統(tǒng),0是false)字符型:0字符也就是c語(yǔ)言的'\0',或者java的'\u0000'對(duì)象型:null,也就是沒(méi)指向任何地址(沒(méi)引用對(duì)象)。①byteshortintlong這四種基本數(shù)據(jù)類型數(shù)組默認(rèn)值為0
②floatdouble這兩種數(shù)組默認(rèn)值是0.0
③char這種類型數(shù)組默認(rèn)值為空格
④boolean類型數(shù)組默認(rèn)值為false
數(shù)組的最小下標(biāo)是1,數(shù)組元素的默認(rèn)初值是多少
要是在C++里定義的話,婁組的下標(biāo)是0.元素的默認(rèn)初值看定義的類型,static、全局變量系統(tǒng)默認(rèn)為0;局部變量就隨機(jī)了。
關(guān)于初始值個(gè)數(shù)小于數(shù)組元素的個(gè)數(shù)的內(nèi)容到此結(jié)束,希望對(duì)大家有所幫助。
本文鏈接:http://xinin56.com/kaifa/464.html