C程序指针实现矩阵加法
时间: 2024-03-22 19:42:11 浏览: 31
下面是一个C程序指针实现矩阵加法的例子:
```c
#include <stdio.h>
void matrix_addition(int rows, int cols, int *mat1, int *mat2, int *result)
{
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
*(result + i*cols + j) = *(mat1 + i*cols + j) + *(mat2 + i*cols + j);
}
}
}
int main()
{
int rows = 2, cols = 2;
int mat1[2][2] = {{1, 2}, {3, 4}};
int mat2[2][2] = {{5, 6}, {7, 8}};
int result[2][2];
// Perform matrix addition using pointers
matrix_addition(rows, cols, &mat1[0][0], &mat2[0][0], &result[0][0]);
// Print the result
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个例子中,我们定义了一个函数`matrix_addition`,它接受两个输入矩阵`mat1`和`mat2`,并将它们相加,结果存储在输出矩阵`result`中。我们使用指针来访问矩阵元素,使用`*(result + i*cols + j)`的形式来访问矩阵中的元素。在`main`函数中,我们定义了两个2x2的矩阵`mat1`和`mat2`,并将它们传递给`matrix_addition`函数。最后,我们打印输出矩阵`result`的值。