C++ 指针等于数组
时间: 2023-07-03 18:11:40 浏览: 102
在 C++ 中,指针和数组是有关联的,因为数组名实际上是指向数组首元素地址的指针。也就是说,一个数组名可以被视为一个指向该数组第一个元素的指针。
例如,下面的代码定义了一个整型数组并初始化它:
```
int arr[] = {1, 2, 3, 4, 5};
```
然后,我们可以使用数组名 `arr` 来访问数组中的元素。例如,`arr[0]` 表示数组的第一个元素,`arr[1]` 表示数组的第二个元素,以此类推。
此外,我们也可以将数组名视为一个指针来使用。例如,`*arr` 表示数组的第一个元素,也就是 `arr[0]`。`*(arr + 1)` 表示数组的第二个元素,也就是 `arr[1]`。这是因为在指针运算中,加上一个整数会使指针指向下一个元素的地址。
因此,在某些情况下,可以将指针和数组视为等价的。例如,下面的代码将一个指针指向数组的第一个元素:
```
int *ptr = arr;
```
现在,我们可以使用指针 `ptr` 来访问数组中的元素,例如 `*ptr` 表示数组的第一个元素,`*(ptr + 1)` 表示数组的第二个元素,以此类推。
相关问题
用C++说明指针数组和数组指针的区别
指针数组和数组指针是 C++ 中两种不同的概念。
指针数组是指一个数组,其中的每个元素都是指针。换句话说,指针数组是一个数组,其中的元素都是指向其他数据类型的指针。例如:
```cpp
int* arr[5]; // 声明一个包含 5 个指向 int 类型的指针的数组
```
在这个例子中,`arr` 是一个指针数组,它包含 5 个指向 int 类型的指针。每个元素都可以指向一个 int 类型的变量或者是 null。
数组指针是指一个指针,它指向一个数组。换句话说,数组指针是一个指向数组的指针。例如:
```cpp
int (*ptr)[5]; // 声明一个指向包含 5 个 int 类型元素的数组的指针
```
在这个例子中,`ptr` 是一个数组指针,它指向一个包含 5 个 int 类型元素的数组。可以通过解引用 `ptr` 来访问该数组的元素。
简而言之,指针数组用于存储指针,而数组指针是指向数组的指针。
阅读全文