#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 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}};

    int i, j;

    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;
}