尽管现代大多数现代编程语言的数组索引是从0开始,依然有一些语言下标按1开始,比如Fortran/MATLAB等。数组从0开始有如下优势:
- 计算机二进制系统的数值形态初始值就是0,地址也是以0开始的
- 与内存地址直接对应,数组和指针可以直接对应,汇编地址指令更易理解
- 数组首元素地址和数组地址一致,访问第一个元素更高效(尽管编译器可以特意指定下标为1为下标为0,但对于一些编程语言将a[i] == *(a + i)会造成不统一)
不以0为数组下标
- VB 提供一种选择,不用0作为下标,设置为1,如下:
声明语句使用 Option Base (1) - Pascal 数组声明可以指定数组下标起始,可以设置为0,也可以设置为1.