Динамический массив- это массив ,который не имеет определенного размера. Огранчен только размером памяти того типа данных,который ему присваивается.
Динамическое выделение памяти нужно для эффективного использования памяти ПК. К примеру, есть надобность написать программу, которая будет обрабатывать массив. При написании программы сначала нужно объявить массив, это значит, задать ему фиксированный размер. Но эта программа будет не универсальной, потому что не может обрабатывать массив больше или меньше заданного размера. Статическое объявление массива не эффективно, потому что выделяется конкретное количество памяти.
В языке программирования С++ операции «new» и «delete» нужны для динамического распределения памяти компьютера. Операция «new» берет память из свободной ячейки, а операция «delete» высвобождает ее. Выделяемая память должна высвобождаться, следовательно, операции new и «delete» используются парами. Если не делать высвобождение памяти, она все равно освободится ресурсами ОС, когда программа закончит свою работу.
Операции динамического массива:
int *ptrarr = new int;
delete ptrarr;
Поясним написанное выше:
Операция «new» выделяет объекту память и возвращает указатель правильного типа на данный участок памяти. Когда нет возможности выделить память, нулевой указатель возвращается, то есть выводится 0. Динамический массив может работать с любыми типами данных: int, float,double, char и т. д.
Приведем пример рабочей программы:
#include
#include
using namespace std;
int main()
{ setlocale(LC_ALL,"rus");
int num;
cout > num;
int *p_darr = new int[num];
for (int i = 0; i < num; i++) {
p_darr[i] = i;
cout