C语言第32课:比较指针与一维数组的关系,使用指针间接访问数组元素( 三 )

上述这段代码中 , 在第8行到第10行 , 我们可以看到 , 这里使用了另一种方式来访问数组arr的每个元素 , 就是借助指针变量p , 后面加上中括号的方式 , 类似这样:p[0
、p[1
、p[2

这就是C语言中的指针使用起来较为灵活的一种表现形式了 。

接下来 , 我们来讨论一下 , 获取数组每个元素的内存地址的方式 , 分别列举两种方式 , 一种是使用数组名来获取每个元素的内存地址 , 另一种是使用指向这个数组的指针变量来获取每个数组元素的内存地址 。 具体的使用方法 , 可参考如下这段示例代码:

示例代码3

上述这段代码中 , 第8行到第10行 , 就是使用数组名 , 通过数组名+0、+1、+2的方式 , 来获取数组每个元素的内存地址 。 其中 , 数组名本身 , 是整个数组的首地址 , 也是数组第一个元素的内存地址 。

在第12行到第14行 , 就是使用指针变量p , 通过+0、+1、+2的方式 , 来获取数组arr每个元素的内存地址 。 指针变量p内存储的内存地址 , 可以理解为是整个数组arr的首地址 , 也可以理解为是数组arr第一个元素的内存地址 。

推荐阅读