c++二维数组用指针实现两个矩阵相加
时间: 2023-05-20 10:03:44 浏览: 217
二维数组计算矩阵相加
3星 · 编辑精心推荐
可以使用指针实现两个二维数组的相加,具体实现方法如下:
```c
#include <stdio.h>
void addMatrix(int *a, int *b, int *c, int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
*(c + i * col + j) = *(a + i * col + j) + *(b + i * col + j);
}
}
}
void printMatrix(int *a, int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", *(a + i * col + j));
}
printf("\n");
}
}
int main() {
int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
int b[2][3] = {{7, 8, 9}, {10, 11, 12}};
int c[2][3];
addMatrix(&a[0][0], &b[0][0], &c[0][0], 2, 3);
printMatrix(&c[0][0], 2, 3);
return 0;
}
```
这段代码实现了两个二维数组 a 和 b 的相加,并将结果存储在 c 中。函数 addMatrix 中使用了指针来访问数组元素,函数 printMatrix 用于打印矩阵。在 main 函数中,我们先定义了两个二维数组 a 和 b,然后定义了一个二维数组 c 用于存储结果。最后调用 addMatrix 函数进行相加,再调用 printMatrix 函数打印结果。
阅读全文