[С++ ]

Динамічні змінні не мають імен. Вони розташовуються в динамічній пам'яті, чи купі, і видаляються з неї під час виконання програми. Для звертання до цих змінних потрібні особливі засоби: вказівники і посилання. Динамічні змінні створюються або оператором new,Знищення динамічних змінних здійснюється оператором delete Оператор виділення пам'яті new у якості операнда використовує ім'я типу. Результатом цього оператора є вказівник на адресу динамічної області пам’яті, що має тип операнда. Динамічна змінна зв'язується з типом під час іляції, тому це зв'язування є статичним. Втім, динамічні змінні зв'язуються з виділеною областю пам'яті в ході виконання програми, тому цей вид зв'язування є динамічним.

 

Одномерный динамический массив

Создаем массив с 10-ю элементами типа int:

Си:

 int *mas = malloc (sizeof(int) * 10);

С++:

 int *mas = new int[10];

Освобождение памяти из-под одномерного динамического массива:

Си:

 free(mas);

С++: оператор delete: 

 delete []mas;

 

Двумерный динамический массив[править | править вики-текст]

Двумерный динамический массив в языке Си может быть создан как массив указателей на массивы строк, при этом память как под массив указателей, так и под массивы строк должна быть выделена динамически:

int **A = (int **)malloc(N*sizeof(int *));
for(int i = 0; i < N; i++) {
 A[i] = (int *)malloc(M*sizeof(int));
}