Динамическая память представляет собой массив пронумерованных ячеек, не имеющих имени; адрес первой такой ячейки записана в указатель. Динамическая память не очищается до завершения программы. Ответственность за нее полностью возлагается на программиста. Область динамической памяти не может быть использована повторно, пока не будет освобождена явно. Преимуществом динамической памяти является то, что доступ к данным в ней можно получить только с использованием тех функций, которые обладают доступом до указателя на динамическую память. Это позволяет избежать случайного изменения данных.