А, всё, теперь понятно. А то название темы вкупе с первым предложением как-то запутывало. Почему-то показалось, что в Си оно выделяется одним блоком, а в Обероне - непонятно.

В Си, подозреваю, тоже можно одним блоком выделять. x*y ячеек памяти выделить в new, а затем каждый из x указателей выставить в правильную позицию выделенного блока памяти.