Під час компіляції програмного коду для статично оголошених масиві нкадається пам’ть. Для ефективного використання пам’ті призначене динамічне оголошення масивів, а саме:
Звичайний статичний масив – це сукупність послідовно розташованих комірок пам’яті.
Динамічний масив – це неперервна ділянка пам’яті розміром sizeof(тип змінної)*<кількість>
Щоб вивільнити пам’ять з-під динамічного масиву користуються командою
delete [ ]<назва вказівника на масива>
З динамічним масивом працювати аналогічно як і з звичайним масивом. Перевага динамічного масиву полягає в тому, що пам’ять з під динамічного масиву можна вивільнити в довільній точці програми. Крім того при оголошенні динамічного масиву в якості його розміру можна вказати попередньо ініціалізовану деяку змінну. Тобто розмір масиву визначатиметься не на етапі компіляції, а на етапі роботи програми (приклад2).
Динамічні масиви використовуються тоді, коли необхідно опрацьовувати кілька великих масивів, для одночасного збереження яких пам’яті не вистачає. Тоді створюють перший динамічний масив. Опрацьовують його, знищують, а тоді створюють наступний масив….
Приклад
void main()
{
int *a = new int [5];
for (int i=0,s=0;i<5;i++)
{
a[i]=i; s = s + a[i];
}
delete []a;
}
void main()
{
Int n = 5;
int *a = new int [n];
for (int i=0,s=0;i<n;i++)
{
*(a+i)=i; s+=*(a+i);
}
delete [ ]a;
}
Вводити та виводити масив можна не лише в циклі з параметром, а і в циклах while, do-while.
В програмі ми вводимо дані в статичний масив. Кількість елементів такого масиву зазначається при описі. Тобто визначається на етапі компіляції.