C++程序 使用指针访问数组元素
指针是存储对象或变量的内存位置或地址的变量。换句话说,指针引用一个内存位置,获取存储在该内存位置的值被称为指针解引用。
数组是存储在连续的内存块中的同类元素的集合。因此,可以使用指针访问数组中的元素。
使用指针访问元素
指针具有存储地址的功能,因此,我们可以存储数组第一个元素的地址,然后遍历指针直到达到最后一个元素。
下面介绍存储第一个元素地址的方法:
- int *ptr = arr;
- int *ptr = &arr[0];
之后,使用for循环来解引用指针并打印数组元素及其内存地址。在每次循环迭代时,指针指向数组的下一个元素。然后打印数组值和地址。让我们看一下数组示例的指针。
示例:
// C++程序以实现和指针配合使用
// 数组
#include <iostream>
using namespace std;
int main()
{
int arr[5] = { 6, 2, 5, 7, 4 };
// 我们可以使用arr或&arr[0],因为两者都将给出
// 数组第一个元素的地址。int *ptr =
// arr;
int* ptr = &arr[0];
for (int i = 0; i < 5; i++) {
cout << "值为" << i << " arr[" << i << "] 是"
<< *(ptr + i) << endl;
cout << *(ptr + i) << "的地址是 "
<< ptr + i << endl
<< endl;
}
return 0;
}
输出
值为0 arr[0] 是6
6的地址是 0x7ffc9de51fb0
值为1 arr[1] 是2
2的地址是 0x7ffc9de51fb4
值为2 arr[2] 是5
5的地址是 0x7ffc9de51fb8
值为3 arr[3] 是7
7的地址是 0x7ffc9de51fbc
值为4 arr[4] 是4
4的地址是 0x7ffc9de51fc0