#include <stdio.h>

#define M 2 // 行数
#define N 3 // 列数

void add(int *A, int *B, int *C, int m, int n) {
    for (int i = 0; i < m * n; i++) {
        C[i] = A[i] + B[i];
    }
}

int main() {
    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関数を呼び出し、配列AとBの加算結果を配列Cに格納
    add((int *)A, (int *)B, (int *)C, M, N);

    // 結果の出力
    printf("配列Cの内容:\n");
    for (int i = 0; i < M; i++) {
        for (int j = 0; j < N; j++) {
            printf("%d ", C[i][j]);
        }
        printf("\n");
    }

    return 0;
}
