# C 程序：使用指针访问数组元素

> 原文： [https://www.programiz.com/c-programming/examples/access-array-pointer](https://www.programiz.com/c-programming/examples/access-array-pointer)

#### 在此示例中，您将学习使用指针访问数组的元素。

要理解此示例，您应该了解以下 [C 编程](/c-programming "C tutorial")主题：

*   [C `for`循环](/c-programming/c-for-loop)
*   [C 数组](/c-programming/c-arrays)
*   [C 指针](/c-programming/c-pointers)
*   [数组和指针之间的关系](/c-programming/c-pointers-arrays)

* * *

## 使用指针访问数组元素

```c
#include <stdio.h>
int main() {
    int data[5];

    printf("Enter elements: ");
    for (int i = 0; i < 5; ++i)
        scanf("%d", data + i);

    printf("You entered: \n");
    for (int i = 0; i < 5; ++i)
        printf("%d\n", *(data + i));
    return 0;
} 
```

**输出**

```c
Enter elements: 1
2
3
5
4
You entered: 
1
2
3
5
4 
```

* * *

在此程序中，元素存储在整数数组`data[]`中。

然后，使用指针符号访问数组的元素。 顺便说说，

*   `data[0]`等同于`*data`，`&data[0]`等同于`data`
*   `data[1]`等同于`*(data + 1)`，`&data[1]`等同于`data + 1`
*   `data[2]`等同于`*(data + 2)`，`&data[2]`等同于`data + 1`
*   `...`
*   `data[i]`等同于`*(data + i)`，`&data[i]`等同于`data + i`

访问此页面以了解指针与数组之间的[关系](https://www.programiz.com/c-programming/c-pointers-arrays)。