使用指针访问数组元素的 C++ 程序


指针存储变量的内存位置或地址。换句话说,指针引用内存位置,获取存储在该内存位置的值称为指针的解引用。

一个使用指针访问数组单个元素的程序如下所示:

示例

 实时演示

#include <iostream>
using namespace std;
int main() {
   int arr[5] = {5, 2, 9, 4, 1};
   int *ptr = &arr[2];
   cout<<"The value in the second index of the array is: "<< *ptr;
   return 0;
}

输出

The value in the second index of the array is: 9

在上面的程序中,指针 ptr 存储数组中第三个索引(即 9)的元素的地址。

这在以下代码片段中显示。

int *ptr = &arr[2];

指针被解引用,并且使用间接运算符 (*) 显示值 9。这在如下所示。

cout<<"The value in the second index of the array is: "<< *ptr;

另一个程序,其中使用单个指针访问数组的所有元素,如下所示。

示例

 实时演示

#include <iostream>
using namespace std;
int main() {
   int arr[5] = {1, 2, 3, 4, 5};
   int *ptr = &arr[0];
   cout<<"The values in the array are: ";
   for(int i = 0; i < 5; i++) {
      cout<< *ptr <<" ";
      ptr++;
   }
   return 0;
}

输出

The values in the array are: 1 2 3 4 5

在上面的程序中,指针 ptr 存储数组第一个元素的地址。这是如下完成的。

int *ptr = &arr[0];

在此之后,使用 for 循环来解引用指针并打印数组中的所有元素。在循环的每次迭代中,指针都会递增,即在每次循环迭代中,指针都指向数组的下一个元素。然后打印该数组值。这可以在以下代码片段中看到。

for(int i = 0; i < 5; i++) {
   cout<< *ptr <<" ";
   ptr++;
}

更新于: 2020年6月24日

13K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告