利用指针求数组各行和
时间: 2023-07-20 20:14:01 浏览: 86
指针和数组
假设有一个二维数组 `arr`,可以使用指针来求出每一行的和。具体实现如下:
```c++
int row_sum(int *p, int cols) {
int sum = 0;
for (int i = 0; i < cols; i++) {
sum += *(p + i);
}
return sum;
}
void get_row_sums(int *arr, int rows, int cols, int *sums) {
for (int i = 0; i < rows; i++) {
*(sums + i) = row_sum(arr + i * cols, cols);
}
}
```
其中,`row_sum` 函数是用来求出一行的和的,`get_row_sums` 函数则是用来求出所有行的和并存储到 `sums` 数组中。在 `get_row_sums` 函数中,我们使用了指针算术运算来获取每一行的起始地址,然后调用 `row_sum` 函数求出该行的和。
阅读全文