int i, j;
scanf("%d,%d", &i, &j);
char a[i][j]; // C99 VLA,C11 為可選,MSVC 不支援
char **a = malloc(i * sizeof(char*));
for (int r = 0; r < i; ++r)
a[r] = malloc(j * sizeof(char));
// 使用 a[r][c] ...
// 釋放
for (int r = 0; r < i; ++r) free(a[r]);
free(a);
char *flat = malloc(i * j);
#define IDX(r,c) flat[(r)*j + (c)]
// 釋放 free(flat);