Обходной путь для этого состоит в том, чтобы не использовать массив напрямую, а вместо этого иметь структуру, подобную этой:
struct table{
int ** arr;
int rows;
int columns;
}
Затем вы можете иметь функцию, которая создает экземпляры таблицы, которая принимает количество строк и столбцов и обрабатывает выделение.