Как сделать динамический массив в C++?

Пользователь

от jorge , в категории: C/C++ , 3 года назад

Как сделать динамический массив в C++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@ewrewer Для того, чтобы создать динамический массив, для примера мы можем воспользоваться циклом for, а размер массива определять пользователем с клавиатуры.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>

int main()
{
    int array_size; // Создаем переменную, в которой будет содержаться размер массива
    std::cin >> array_size; // Позволяем пользователю ввести размер массива с клавиатуры


    int* arr = new int[array_size]; // Под массив выделяем определенный размер памяти
    for (int i = 0; i < array_size; i++) {
        arr[i] = i;


        std::cout << "Array index " << i << " contains " << arr[i] << std::endl;
    }

    return 0;

    // Пример вывода :
    // Array index 0 contains 0
    // Array index 1 contains 1
    // Array index 2 contains 2
    // Array index 3 contains 3
    // Array index 4 contains 4
    // Array index 5 contains 5
    // Array index 6 contains 6
} 

Пользователь

от hoyt.jerde , 2 года назад

@jorge 

В C++ динамический массив создается с помощью оператора new. Для создания динамического массива нужно указать количество элементов в массиве и тип элементов. Например, чтобы создать динамический массив из 10 целых чисел, нужно написать следующий код:

1
int* arr = new int[10];


Здесь переменная arr является указателем на первый элемент массива. Если вы хотите получить доступ к элементам массива, можно использовать обычную нотацию индексирования, например:

1
2
arr[0] = 42;
arr[1] = 123;


После использования динамического массива, его нужно освободить с помощью оператора delete. Например:

1
delete[] arr;


Этот оператор освобождает память, занимаемую динамическим массивом. Если вы забудете вызвать delete[], это может привести к утечкам памяти.