Гайд [Блог Программиста]: Динамические массивы в C++ — урок 8

Статус
В этой теме нельзя размещать новые ответы.
  • 77
  • 18
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
[brokencore.club]_вступление.jpg


В пятом уроке мы разобрали понятие массива. При объявлении, мы задавали массиву определенный постоянный размер. Возможно, кто-то из читателей пробовал делать так:

[brokencore.club]_Основная часть.jpg


C++:
int n = 10;
int arr[n];

Но, как уже было сказано — при объявлении статического массива, его размером должна являться числовая константа, а не переменная. В большинстве случаев, целесообразно выделять определенное количество памяти для массива, значение которого изначально неизвестно.

Например, необходимо создать динамический массив из N элементов, где значение N задается пользователем. В предыдущем уроке мы учились выделять память для переменных, используя указатели. Выделение памяти для динамического массива имеет аналогичный принцип.

Создание динамического массива

C++:
#include <iostream>
using namespace std;

int main()
{
    int num; // размер массива
    cout << "Enter integer value: ";
    cin >> num; // получение от пользователя размера массива

    int *p_darr = new int[num]; // Выделение памяти для массива
    for (int i = 0; i < num; i++) {
        // Заполнение массива и вывод значений его элементов
        p_darr[i] = i;
        cout << "Value of " << i << " element is " << p_darr[i] << endl;
    }
    delete [] p_darr; // очистка памяти
    return 0;
}

Синтаксис выделения памяти для массива имеет вид указатель = new тип[размер]. В качестве размера массива может выступать любое целое положительное значение.

Следующий урок: Параметры командной строки в C++ →.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу