在大多数编程语言中,任何数组的名称都是一个指针,它只是指向一个内存位置的引用,因此表达式array[n]指向一个距离第一个元素n个元素的内存位置。这意味着索引被用作偏移量。数组的第一个元素恰好包含在数组指向的内存位置中(0个元素距离),因此应始终将其称为array[0]。a[i]也可以被解读为[a+i]处的值,表示为*(a+i),因此它始终从零开始。