#include <stdio.h> #include <stdlib.h> #include <unistd.h> void getMem(int **&p, int m, int n) { int i; p = (int **)malloc(m*(sizeof(int *))); for (i = 0; i < m; ++i) { p[i] = (int *)malloc(n*(sizeof(int))); } } void freeMem(int **&p, int m, int n) { int i; for (i = 0; i < m; ++i) { free(p[i]); } free(p); } void input(int **&p, int m, int n) { int i, j; for (i = 0; i < m; ++i) { for (j = 0; j < n; ++j) { scanf("%d", &p[i][j]); } } } void output(int **&p, int m, int n) { int i, j; for (i = 0; i < m; ++i) { for (j = 0; j < n; ++j) { printf("%3d", p[i][j]); } printf("/n"); } } int main() { int **a, i, j; getMem(a, 2, 3); input(a, 2, 3); output(a, 2, 3); freeMem(a, 2, 3); return 0; }