黑马程序员技术交流社区

标题: 数组指针 [打印本页]

作者: lss7790    时间: 2015-10-28 22:14
标题: 数组指针

怎么理解数组指针?

指向数组的指针

一个变量有地址,一个数组包含若干元素,每个数组元素都有相应的地址
指针变量可以指向数组元素(把某一元素的地址放到一个指针变量中)
所谓数组元素的指针就是数组元素的地址
可以用一个指针变量指向一个数组元素

注意:
1)数组名a不代表整个数组,只代表数组首元素的地址。
“p=a;”的作用是“把a数组的首元素的地址赋给指针变量p”,而不是“把数组a各元素的值赋给 p”

怎么使用?
如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素,p-1指向同一数组中的上一个元素。

结论: 引用一个数组元素,可用下面两种方法:
(1)下标法,如a[i]形式
(2)指针法,如*(a+i)或*(p+i)
(3)a是常量(a++错误),p是变量(p++正确)


int arr[3] = {1,2,3};

//指向一维数组就是一维数组的指针
int *p = arr;  //指向数组的指针

        //一维数组指针
        *(p+i) == *(arr+i) == arr[i]



有一个整型数组a,有10个元素,要求输出数组中的全部元素
解题思路:
引用数组中各元素的值有3种方法:
(1)下标法;
(2)通过数组名计算数组元素地址,找出元素的值;
(3)指针

作者: 青菜CC    时间: 2015-10-28 22:19
绑定了 写的很好
作者: xu不是许    时间: 2015-10-28 22:22
不错  学习啦  
作者: zyios    时间: 2015-10-29 10:56
解释的很清楚,看懂了
作者: 向日葵的微笑    时间: 2015-10-29 21:56
总结的非常好,很好
作者: wpf986530062    时间: 2015-10-29 22:05
写的不错,继续加油
作者: jazzforlove    时间: 2015-10-29 23:59
赞一个,不错!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2