K
mit den eingebauten mehrdimensionalen arrays von c kann man das leider nicht machen. in deinem fall ist es das beste, wenn du das zweidimensionale array mit einem dynamisch allozierten eindimensionalen nachbildest:
#include <stdlib.h>
#define MATRIX_ELM(matrix,i,j,dim_i) (matrix[(i)+(j)*(dim_i)])
double
*new_matrix (int dim_i, int dim_j)
{
return (double*}calloc(dim_i*dim_j,sizeof(double));
}
void
sum_up_matrix (double *dst, double *src, int dim_i, int dim_j)
{
int i,j;
for(i=0; i<dim_i; ++i)
for(j=0; j<dim_j; ++j)
MATRIX_ELM(dst,i,j,dim_i)+=MATRIX_ELM(src,i,j,dim_i);
}
natürlich könnte man sum_up_matrix() noch etwas effizienter implementieren.