#include <stdio.h>

#define M 2
#define N 3

void add(int *A, int *B, int *C, int m, int n){
    int i, j;

   for(i = 0; i < m; i++){
     for(j = 0; j < n; j++){
        *(C + i*n + j) = *(A + i*n + j) + *(B + i*n + j);
      }
   }
}

int main(void){
   int i, j;
    int A[M][N] = {{1,2,3},{4,5,6}};
    int B[M][N] = {{6,5,4},{3,2,1}};
    int C[M][N] = {{0,0,0},{0,0,0}};

    add((int *)A, (int *)B, (int *)C, M, N);

    for(i = 0; i < M; i++){
      for(j = 0; j < N; j++){
         printf("%d ", C[i][j]);
     }
      printf("\n");
  }

 return 0;
}
