int *array = new int[n];
Он объявляет указатель на динамический массив типа int
и размер n
.
Немного более подробный ответ: new
выделяет память размером, равной sizeof(int) * n
байтам, и возвращает память, которая хранится переменной array
. Кроме того, поскольку память динамически распределяется с помощью new
, вы должны освободить ее вручную, написав (когда вам больше не нужно, конечно):
delete []array;
В противном случае ваша программа будет памяти утечки не менее sizeof(int) * n
байтов (возможно, больше, в зависимости от стратегии распределения, используемой реализацией).