前言:在上一篇文章中,笔者介绍了指针和数组的内存分配以及初始化,这篇文章来整理下关于数组访问的两种方式。
数组的下标引用和指针访问
在正式开始介绍多维指针和多维数组之前,笔者要先介绍一些关于数组下标引用和指针访问的相关内容。了解这些内容,会更加有助于我们理解后面的多维指针和多维数组。
1.以下标引用的方式访问数组
在使用数组的场合中,我们常见的一种访问方法是使用下标访问数组元素,如:array[2] = 1
,此语句是将该数组的第三个元素赋值为1.[ ]符号中的数字可以认为是在数组基地址上的偏移量,可以通过改变这个偏移量来访问整个数组。
2.以指针访问的方式访问数组
除了使用偏移量的方法,我们还可以使用指针的方法来访问数组,即间接引用的方式。如:*(array+2) = 1
,同上面的代码一样,也是对该数组的第三个元素进行赋值。
3.下标引用和指针访问的执行效率问题
对于这两种不同的访问数组的方式,它们的执行效率也不同,在这里先给出结论:指针访问的效率 >= 下标引用的效率。接下来我们来说说,为什么使用指针进行间接访问的效率会优于小标引用的效率。
- 下标引用的效率
现在假设有如下代码,执行对整个数组的初始化过程: