В предыдущих курсах про массивы мы рассматривали создание массива таким способом:
const int N = 10;
int A[N]
или
такой способ создает
статический массив. Одним из недостатков является то, что размер массива задается константой и не позволяет размер массива считать с клавиатуры.
Поэтому есть другой тип массива : динамический массив, размер которого можно задать с клавиатуры:
int N;
scanf("%d", &N);
int *mas = malloc (sizeof(int) * N); //Си
или
int* A = new int [N]; // Си++
а очистка массива соответственно:
и
К сожалению, изменить размер массива можно только если он создан с помощью оператора malloc, тогда нужно использовать realloc. Если же для создания массива использовалось new, то для изменения размера надо создать второй массив нужно размера, в который перенести данные, а старый очистить.