本帖最后由 紫荆秋雪 于 2015-7-17 13:00 编辑
一、数组指针的概念及定义
1.数组指针 数组元素指针,每个变量都有地址,一个数组包含若干元素,每个数组元素都有相应的地址,指针变量可以指向数组元素(把某一元素的地址放到一个指针变量中),所谓数组元素的指针就是数组元素的地址,因为指针就是地址,可以用一个指针变量指向一个数组元素。 我们这个数组指针其实就是一维数组与指针之间的关系。 通过下图我们来分析一维数组与指针之间的关系。 如图所示,我们定义了一个int类型的一维数组a,并且定义了一个int类型的指针变量p,并且指针p指向数组a。 这里有一个重要的数组特性: 数组的首地址 = 数组名 = 数组第一个元素的地址 所以:p=a=&a[0] 注意!
1>数组名 a 不代表整个数组,只代表数组首元素的地址。 2>“p=a”的作用是“把a数组的收元素的地址符给指针变量p”,而不是“把数组a各元素的值赋给p”。 3>数组名a就是一个地址,是一个常量。
总结:
1)引用一个数组元素,可用下面两种方法: >下标法,如a形式 >指针法,如*(a+i)或*(p+i) 2)数组名 a是常量,所以a++是错误的 指针变量p是变量,所以P++是正确的 3)数组指针——指向数组元素的指针 4)数组指针的作用——使用数组指针间接访问数组的元素
接下来我们用程序实例来说明“指针与一维数组之间的关系” 打印如下: 下面我们看看指针p是否指向数组?并且看看指向数组的什么位置?看看数组的地址是多少? 程序打印输出如下: 小结:
从这个打印可以知道,指针p指向了数组并且指向了数组都地址也就是数组第一个元素的地址&shu[0]。
下面我们打印出数组每个元素的地址看看 打印如下: 从这个打印图我们可以知道: 数组中每个元素都有自己的地址,因为指针是访问变量的地址,所以我们可以用指针来访问数组的每个元素。 下面,用指针访问数组中的值 |