用c++编写:用指针逆序储存
时间: 2024-03-21 18:40:05 浏览: 19
可以使用指针来实现逆序储存。下面是一个简单的示例代码:
```c++
#include <iostream>
using namespace std;
int main()
{
int arr[5] = {1, 2, 3, 4, 5};
int *p = &arr[4]; // 将指针 p 指向数组最后一个元素
cout << "原数组:" << endl;
for (int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
cout << endl;
cout << "逆序储存后的数组:" << endl;
for (int i = 0; i < 5; i++) {
cout << *p << " ";
p--; // 指针向前移动一位
}
cout << endl;
return 0;
}
```
输出结果为:
```
原数组:
1 2 3 4 5
逆序储存后的数组:
5 4 3 2 1
```
在上面的代码中,我们使用了一个指针 `p` 来指向数组的最后一个元素。然后,我们通过一个 for 循环来遍历数组,每次输出指针 `p` 指向的元素,并将指针 `p` 向前移动一位,直到遍历结束。这样就完成了逆序储存。
相关问题
用matlab编写代码:实现数组逆序
可以使用 MATLAB 内置函数 `flip` 来实现数组逆序。以下是示例代码:
```matlab
% 定义一个数组
arr = [1, 2, 3, 4, 5];
% 使用 flip 函数逆序数组
arr_reverse = flip(arr);
% 输出逆序后的数组
disp(arr_reverse);
```
输出结果为:
```
5 4 3 2 1
```
如果你想要逆序矩阵的某个维度,可以使用 `flipdim` 函数。例如,逆序矩阵的第一维:
```matlab
% 定义一个矩阵
mat = [1, 2, 3; 4, 5, 6; 7, 8, 9];
% 使用 flipdim 函数逆序矩阵的第一维
mat_reverse = flipdim(mat, 1);
% 输出逆序后的矩阵
disp(mat_reverse);
```
输出结果为:
```
7 8 9
4 5 6
1 2 3
```
c语言编程:使用指针实现字符串逆序输出
可以用指针来实现字符串逆序输出,代码如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int length = strlen(str);
char *begin = str;
char *end = str + length - 1;
while (begin < end) {
char temp = *begin;
*begin = *end;
*end = temp;
begin++;
end--;
}
}
int main() {
char str[] = "Hello, world!";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
这个程序中,我们定义了一个 `reverse` 函数,它接受一个指向字符串的指针。这个函数首先计算字符串的长度,然后定义了两个指针,一个指向字符串的开头,一个指向字符串的结尾。接下来,我们使用一个循环来交换开头和结尾的字符,直到两个指针相遇为止。最后,我们在 `main` 函数中调用 `reverse` 函数,并将结果输出到控制台上。