Что такое динамический массив и как его использовать в программировании
Динамический массив - это массив, размер которого может изменяться во время выполнения программы. В отличие от статического массива, который имеет фиксированный размер при компиляции, динамический массив выделяет память во время выполнения программы и освобождает ее по окончании работы.
Для использования динамического массива в языке программирования C++ необходимо использовать операторы new и delete. Оператор new выделяет память для массива заданного размера, а оператор delete освобождает память после окончания работы.
Пример создания динамического массива в C++:
cpp
int n = 5; // размер массива
int* arr = new int[n]; // выделение памяти
Обращение к элементам динамического массива осуществляется так же, как и к обычному статическому массиву:
cpp
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
После окончания работы с массивом его необходимо освободить при помощи оператора delete:
cpp
delete[] arr; // освобождение памяти
Также можно изменять размер динамического массива во время выполнения программы с помощью функции realloc:
cpp
int n = 5; // начальный размер
int* arr = new int[n]; // выделение памяти
n += 5; // увеличение размера массива
arr = (int*) realloc(arr, n * sizeof(int)); // изменение размера массива
delete[] arr; // освобождение памяти
Однако стоит помнить, что использование динамического массива может привести к утечкам памяти, если выделенная память не будет корректно освобождена. Поэтому рекомендуется использовать контейнеры STL, такие как std::vector, которые имеют встроенный механизм управления памятью.