📜  C++程序使用指针访问数组的元素(1)

📅  最后修改于: 2023-12-03 15:14:04.559000             🧑  作者: Mango

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

在 C++ 中,使用指针访问数组的元素是一种常见的操作。这种操作可以更加灵活地处理数组,同时也可以提高程序的效率。

基本语法

使用指针访问数组的元素,需要先定义一个指向数组的指针,然后通过指针访问数组元素。具体语法如下:

int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含 5 个元素的数组
int* p = arr; // 定义一个指向数组的指针,指向数组的第一个元素

// 通过指针访问数组元素
cout << *p << endl; // 输出数组的第一个元素,即 1
cout << *(p + 1) << endl; // 输出数组的第二个元素,即 2
cout << *(p + 4) << endl; // 输出数组的最后一个元素,即 5
说明
  • 定义指针变量 p,并将其指向数组 arr 的第一个元素。在 C++ 中,数组名称可以视为指向数组第一个元素的指针,因此 parr 所指向的地址是相同的。

  • *p 表示指针所指向的值,即数组的第一个元素。

  • *(p + i) 表示指针所指向的地址加上 i 后所指向的值,即数组的第 i+1 个元素。

示例

下面是一个完整的示例程序,演示如何使用指针访问数组的元素:

#include <iostream>
using namespace std;

int main() {
    int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含 5 个元素的数组
    int* p = arr; // 定义一个指向数组的指针,指向数组的第一个元素

    // 使用指针访问数组元素
    cout << "数组的元素依次为:" << endl;
    for (int i = 0; i < 5; i++) {
        cout << *(p + i) << " ";
    }

    return 0;
}

输出结果为:

数组的元素依次为:
1 2 3 4 5 
注意事项
  • 访问数组元素时,需要确保指针指向的地址是合法的。如果指针指向的地址在数组范围外,会出现未定义的行为。

  • 在使用指针访问数组元素时,可以使用 [] 运算符代替 *+ 运算符。例如, *(p+i) 可以写成 p[i]

  • 在使用指针访问数组元素时,还可以使用指针的自增和自减运算符。例如, p++ 表示将指针 p 指向下一个元素的地址。