定义low=0 high=9不是给两个变量赋值吗?
计算机又怎么知道low 和high 是数组第一个数的位置和最后一个数的位置?
解答:
因为数据第一位是下标为0,对应low=0
数组最后一个小标为数组长度-1,就是高位。所以是high=9
因为数组是一种线性表,它在内存中是连续的,它的下标是从0开始的,目的是为了更快寻址,这就能解释你的问题了。
接下来是扩展知识,为什么要从零开始
计算机会给每个内存单元分配一个地址,计算机通过地址来访问内存中的数据。当计算机需要随机访问数组中的某个元素时,它会首先通过下面的寻址公式,计算出该元素存储的内存地址:
a[i]_address = base_address + i * data_type_size
如果下标从 1 开始,公式就变成
a[i]_address = base_address + (i-1)*type_size
通过公式我们会发现,下标从一开始就多了一次减法运算。
望采纳