Как динамически выделить двумерный массив

Я хотел бы сделать двумерный массив в C.

Например, я делаю переменную типа int с именем place следующим образом:

int *place;

У меня есть игра, в которой есть переменные, такие как строки и столбцы. Я хотел бы, чтобы моя переменная place была двумерным массивом с динамическим распределением его строк и столбцов (для максимального размера массива), который будет выглядеть следующим образом в "нормальный" объявление:

place[rows][columns];

но я нене знаю, как это сделать с динамическим распределением.

Я бы сделал это так для одномерных массивов:

place = (int*) malloc (levels * sizeof(int));

но я нене знаю, как сделать это с 2D-массивами.

Редактировать:

Как я могу переписать это для char вместо int?

Я попытался просто переписать int с помощью символов, но это нет работа.

Ответы на вопрос(3)

Ваш ответ на вопрос