lua獲取數(shù)組長(zhǎng)度 數(shù)組的下標(biāo)應(yīng)該是從0還是從1開(kāi)始?
數(shù)組的下標(biāo)應(yīng)該是從0還是從1開(kāi)始?在其他一些語(yǔ)言中,情況可能會(huì)有所不同。例如,在basic語(yǔ)言中,數(shù)組a[Max]的元素從a[1]到a[Max],而在Pascal語(yǔ)言中,這兩種方法都是可行的。注意:a
數(shù)組的下標(biāo)應(yīng)該是從0還是從1開(kāi)始?
在其他一些語(yǔ)言中,情況可能會(huì)有所不同。例如,在basic語(yǔ)言中,數(shù)組a[Max]的元素從a[1]到a[Max],而在Pascal語(yǔ)言中,這兩種方法都是可行的。
注意:a[Max]是有效地址,但地址中的值不是數(shù)組a的元素。
這種差異有時(shí)會(huì)導(dǎo)致混淆,因?yàn)楫?dāng)您說(shuō)“數(shù)組中的第一個(gè)元素”時(shí),實(shí)際上是指“數(shù)組中的下標(biāo)是”。這里的第一個(gè)意思與最后一個(gè)相反。
由于指針和數(shù)組幾乎相同,您可以定義一個(gè)指針,以便它可以像數(shù)組一樣引用另一個(gè)數(shù)組中的所有元素,但前者的下標(biāo)從1開(kāi)始:
/*Don“tdotis
*/
inta0[Max],
int*A1=a0-1/*&a0[-1)*/
現(xiàn)在,a0[0]和A1[1]是相同的,而a0[Max-1]和A1[Max]是相同的。但是,在實(shí)際編程中不應(yīng)該這樣做,原因有以下兩個(gè):第二,這種方式偏離了C語(yǔ)言的傳統(tǒng)風(fēng)格。
數(shù)組元素的下標(biāo)是從幾開(kāi)始的?
在通用編程語(yǔ)言中,數(shù)組元素的下標(biāo)從0開(kāi)始。例如,對(duì)于一個(gè)數(shù)組,arr={a,B,C},然后arr[0]=“a”,arr[1]=“B”,arr[2]=“C”
數(shù)組下標(biāo)都是從1開(kāi)始的,為什么說(shuō)成是從0開(kāi)始的呢?
下標(biāo)是數(shù)組元素的索引號(hào),VB默認(rèn)值是0,對(duì)于您的數(shù)組
dim a as variant
a=array(1,2,3,4)
a(0)是第一個(gè)元素,它的索引號(hào)是0,它的值是1