A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 紫荆秋雪 中级黑马   /  2015-7-16 23:33  /  671 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 紫荆秋雪 于 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]。

下面我们打印出数组每个元素的地址看看
打印如下:
从这个打印图我们可以知道:
       数组中每个元素都有自己的地址,因为指针是访问变量的地址,所以我们可以用指针来访问数组的每个元素。
下面,用指针访问数组中的值

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马