用指针指向一个数组元素
时间: 2023-11-23 14:45:52 浏览: 42
可以使用以下代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[] = {80, 90, 60, 70, 50, 85};
int *p = arr; // 指针变量指向数组第一个元素
for (int i = ; i < 6; i++) {
if (*p < 70) { // 判断当前指向的元素是否小于70
cout << *p << " "; // 输出小于70的数
}
p++; // 指针指向下一个元素
}
return ;
}
```
输出结果为:
```
60 50
```
相关问题
c++指针指向一个数组
当使用指针指向一个数组时,可以使用以下方式:
```cpp
int arr[5] = {1, 2, 3, 4, 5};
int* ptr = arr; // 指针ptr指向数组arr的第一个元素
// 访问数组的元素
cout << *ptr << endl; // 输出1
// 移动指针到下一个元素
ptr++;
cout << *ptr << endl; // 输出2
// 使用指针遍历整个数组
for (int i = 0; i < 5; i++) {
cout << *(ptr + i) << " "; // 输出1 2 3 4 5
}
```
在上面的示例中,`ptr`是一个指向整数的指针,它指向数组`arr`的第一个元素。通过`*ptr`可以访问该指针指向的元素,通过`ptr++`可以将指针移动到下一个元素。通过`*(ptr + i)`可以访问数组中的其他元素。
指针指向未知长度数组最后一个元素
如果是未知长度的数组,通常可以通过指针运算来访问数组元素,而不是使用数组名。指向未知长度数组最后一个元素的指针可以通过以下方法获取:
```
int arr[] = {1, 2, 3, 4, 5};
int* p = arr + sizeof(arr)/sizeof(int) - 1;
```
在上述代码中,`arr`是一个未知长度的数组,`sizeof(arr)/sizeof(int)`计算出数组的元素个数,然后通过指针运算将指针指向数组的最后一个元素。需要注意的是,这种方法假设数组是连续的,否则将会导致错误的结果。
在指向未知长度数组的指针运算中,通常会使用指针的算术运算,例如`p++`表示将指针向后移动一个元素,`p--`表示将指针向前移动一个元素,`p+i`表示将指针向后移动`i`个元素,`p-i`表示将指针向前移动`i`个元素。需要注意的是,在对指针进行运算时,需要确保指针指向的内存地址是合法的,否则会导致未定义行为。