C语言利用指针计算两个矩阵的和
时间: 2024-05-13 14:15:06 浏览: 118
用c语言实现矩阵的运算
4星 · 用户满意度95%
以下是利用指针计算两个矩阵的和的C语言代码:
```c
#include <stdio.h>
void add_matrices(int *m1, int *m2, int *result, int rows, int columns) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < columns; j++) {
*(result + i * columns + j) = *(m1 + i * columns + j) + *(m2 + i * columns + j);
}
}
}
int main() {
int m1[2][3] = {{1, 2, 3}, {4, 5, 6}};
int m2[2][3] = {{7, 8, 9}, {10, 11, 12}};
int result[2][3];
int rows = 2;
int columns = 3;
int i, j;
add_matrices(&m1[0][0], &m2[0][0], &result[0][0], rows, columns);
printf("Matrix 1:\n");
for (i = 0; i < rows; i++) {
for (j = 0; j < columns; j++) {
printf("%d ", m1[i][j]);
}
printf("\n");
}
printf("\nMatrix 2:\n");
for (i = 0; i < rows; i++) {
for (j = 0; j < columns; j++) {
printf("%d ", m2[i][j]);
}
printf("\n");
}
printf("\nResult:\n");
for (i = 0; i < rows; i++) {
for (j = 0; j < columns; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个例子中,我们定义了两个2x3的矩阵m1和m2,以及一个2x3的结果矩阵result。我们还定义了矩阵的行数和列数。然后,我们调用add_matrices函数来计算矩阵的和,并将结果存储在result矩阵中。在这个函数中,我们使用指针来访问矩阵元素,以便进行计算。最后,我们打印出三个矩阵的值,以验证计算的正确性。
阅读全文