第一种
//first stack save
char A[MAX][MAX];
第二种
//second heap save
char *A = new char[N * M];
(A + i * M + j) 表示 A[i][j]
第三种
//third heap save
char **A;
A = new char *[N];
for (int i = 0; i < N; ++i)
A[i] = new char[M];
A[i][j] 使用
for (int i = 0; i < N; ++i)
delete[] A[i];
delete[] A;
第四种
//fourth heap save
char *A = new char[N * M];
char **A2;
A2 = new char *[N];
for (int i = 0; i < N; ++i)
A2[i] = A + i * M;
delete[] A2;
delete[] A;