Насколько я могу судить, это бред.Вы, вероятно, имели в виду (int(*)[MAXCOL])
.
В C это означает, что программист, написавший его, не знает, как работают типы пустых указателей.
В C ++ это означает, что вы выделяете массивмассивы.p - это указатель на массив, поэтому * p - это массив размера MAXCOL, и вы выделяете MAXROW для таких массивов.В результате получается «искаженный» 2D-массив.Преимущество использования этого довольно неясного синтаксиса состоит в том, что вы получаете двумерный массив, в котором каждая ячейка находится в смежной памяти, чего вы бы не достигли с помощью более распространенного динамического двумерного массива указатель-указатель.