c语言用指针实现数组的逆序存储
时间: 2024-12-15 22:22:59 浏览: 26
在C语言中,使用指针可以方便地操作数组元素并实现数组的逆序存储。一种常见的方法是通过两个指针,一个指向数组的起始位置(通常称为原点),另一个从数组尾部开始向数组头部移动。每次交换这两个指针所指向的元素,然后两个指针都向前移动一步,直到相遇为止。以下是简单的步骤:
```c
void reverseArray(int* arr, int size) {
if (size <= 1) return; // 如果数组只有一个元素或为空,无需反转
int start = 0; // 指向数组起始位置
int end = size - 1; // 指向数组结束位置
while (start < end) { // 当开始位置小于结束位置时继续循环
int temp = arr[start]; // 临时存储起始位置的元素
arr[start] = arr[end]; // 将起始位置的元素赋值给结束位置
arr[end] = temp; // 将结束位置的元素赋值给临时变量
start++; // 开始位置指针后移
end--; // 结束位置指针前移
}
}
```
你可以像下面这样调用这个函数:
```c
int main() {
int myArray[5] = {1, 2, 3, 4, 5};
reverseArray(myArray, sizeof(myArray)/sizeof(myArray[0]));
// 输出:myArray 现在应该是 {5, 4, 3, 2, 1}
return 0;
}
```
阅读全文