#include <stdio.h>
#include <stdlib.h>
void allocMatrix(void ***ptr, int m, int n, int elementSize)
{
    *ptr = malloc(sizeof(void *) * m);
    for (int i = 0; i < m; i++)
    {
        (*ptr)[i] = malloc(elementSize * n);
    }
}
void freeMatrix(void ***ptr, int m)
{
    for (int i = 0; i < m; i++)
    {
        free((*ptr)[i]);
    }
    free(*ptr);
}
int main()
{
    short **matrix;
    // m: 3, n: 3, 요소의 자료형 short
    allocMatrix(&matrix, 3, 3, sizeof(short));
    matrix[0][2] = 10;
    matrix[1][1] = 20;
    printf("%d %d\n", matrix[0][2], matrix[1][1]);
    freeMatrix(&matrix, 3);
    return 0;
}