Уроки C++ с нуля / Урок #10 - Динамический массив

preview_player
Показать описание
В этом уроке мы выучим как создавать динамические массивы в языке C++. Мы научимся динамически выделять память под объекты, а также очищать память после выполнения всех действий.

✔ -------------

- Уроки от #GoshaDudar 👨🏼‍💻
- Все уроки по хештегу #GoshaCpp
Рекомендации по теме
Комментарии
Автор

Мне кажется, стоило показать пример, при котором пользователь вводит размер массива с клавиатуры, что обычно и требуется, а не определять размер на этапе создания программы.

Владос
Автор

У кого есть проблемы на visual studio с функцией rand() (поправьте если это не функция), попробуйте прописать #include <time.h> и после int main(int argc, const char * argv[]) { прописать srand(time(NULL));

diiboo
Автор

Так правильней:

#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;
}

mzx
Автор

Как программист PHP с опытом 9 лет я очень давно хотел выучить C++. Твои видео очень полезны.

anton-vlasenko
Автор

красава, приятно слушать все поучительно и позновательно, голос приятный и микро не шипит

surprizzemotherfucker
Автор

Как по мне, динамические массивы мы используем тогда, когда не знаем, какой объем данных хотим получить от пользователя/в ходе дальнейшего использования по мере написания проги.)
Но спасибо за delete, вечно забываю писать😅

asyaalyssia
Автор

спасибо за уроки, продолжай в том же духе!

Doukry
Автор

динамические это массивы, размер которых можно менять без потери данных, вы этого не показали. Оценка - 1

АлексейМитяев-бй
Автор

А почему надо указывать длину динамического массива если он называется динамическим?

sirberbe
Автор

А как изменять его длину, если тут в коде количество элементов в этом массиве уже константа?

eligutman
Автор

ничего не понял, какой массив, как он появился? как есть массив, когда есть только указатель на него(но массива то нету!)? вроде всё просто, но не тем кто только пытается понять базу.

GDVT
Автор

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

kovesik
Автор

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

vladskos
Автор

Никто:
Абсолютно никто:
Гоша: вывелись какие-то кракозяблики

teskq
Автор

6:00 хороший простой пример динамического массива на С++. Число 10 в примере может быть заменено на любое целочисленное значение.

namesurname
Автор

int num;
cout << "Enter integer value";
cin >> num;
int *ptrarray = new int[num]; //создали динамический массив

for (int i = 0; i < num; i++)
ptrarray[i] = rand() % 80 + 1;

for (int i = 0; i < num; i++)
cout << " " << ptrarray[i];

delete ptrarray;

ИгорьСеврюков-гп
Автор

Динамический массив - это массив, в котором количество элементов, и соответственно выделенный на него объем памяти, может меняться как при инициализации, так и при работе с ним. Строго говоря, такой массив не реализован в языке C++. Есть некоторая его замена, обладающая рядом функций динамического массива.

Объявляют массив таким образом:

int a;
a = 7;
int *mas = new int[a];
1
2
3
int a;
a = 7;
int *mas = new int[a];
Благодаря такой конструкции можно инициализировать массив любого размера, но изменять размер выделенной на него памяти в ходе работы невозможно. Можно только полностью освободить занимаемое массивом место. Это делается с помощью функции delete. Для нашего примера это выглядит так

delete [] mass;
1
delete [] mass;
Скобки перед оператором обязательны, они указывают на то, что удаляется именно массив, а не переменная.


что нужно понять? А то, что если нам нужно поменять размер массива (количество элементов), мы удаляем массив и заново создаем, причем пользуясь той же переменной, но уже с новыми параметрами. Я так понял, если не прав, поправьте.

AlexKeyMAD
Автор

И чем этот массив отличается от обычного?

ДинарФазлиев-уд
Автор

Не увидел разницу между динамическим и статическим массивом. Каким образом мы добавляем ячейки памяти к массиву во время работы программы? Где эта информация?

ВладиславТороков-ее
Автор

Как пример попробуйте программу которая будет спрашивать у ваш длину массива, а потом выводить рандомные числа в количестве вашего массива)

pubgr