数组是从0开始还是1开始 数组的下标应该是从0还是从1开始?
数组的下标应该是从0还是从1开始?在其他一些语言中,情况可能会有所不同。例如,在basic语言中,数组a[Max]的元素从a[1]到a[Max],而在Pascal语言中,这两种方法都是可行的。注意:a
数组的下标应该是从0还是从1开始?
在其他一些语言中,情况可能会有所不同。例如,在basic语言中,数组a[Max]的元素从a[1]到a[Max],而在Pascal语言中,这两种方法都是可行的。
注意:a[Max]是有效地址,但地址中的值不是数组a的元素。
这种差异有时会导致混淆,因为当您说“数组中的第一个元素”时,实际上是指“数组中的下标是”。这里的第一个意思与最后一个相反。
由于指针和数组几乎相同,您可以定义一个指针,以便它可以像数组一样引用另一个数组中的所有元素,但前者的下标从1开始:
/*Don“tdotis
*/
inta0[Max],
int*A1=a0-1/*&a0[-1)*/
现在,a0[0]和A1[1]是相同的,而a0[Max-1]和A1[Max]是相同的。但是,在实际编程中不应该这样做,原因有以下两个:第二,这种方式偏离了C语言的传统风格。
数组下标都是从1开始的,为什么说成是从0开始的呢?
下标是指数组元素的索引号,VB默认值为0,对于您的数组
dim a as variant
a=数组(1,2,3,4)
a(0)是指第一个元素,其索引号为0,其值为1