ДИНАМИЧЕСКИЙ МАССИВ. - Студенческий научный форум

X Международная студенческая научная конференция Студенческий научный форум - 2018

ДИНАМИЧЕСКИЙ МАССИВ.

Будников Е.А. 1, Герасименко С.К. 1
1Тюменский индустриальный университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Массив(еще называют матрицей, таблицей и рядом)- структура данных в виде набора элементов массива ,которые находятся в памяти соответственно друг за другом, это позволяет обращаться к элементам по числовому индексу.

Динамический массив- это массив ,который не имеет определенного размера. Огранчен только размером памяти того типа данных,который ему присваивается.

Динамическое выделение памяти нужно для эффективного использования памяти ПК. К примеру, есть надобность написать программу, которая будет обрабатывать массив. При написании программы сначала нужно объявить массив, это значит, задать ему фиксированный размер. Но эта программа будет не универсальной, потому что не может обрабатывать массив больше или меньше заданного размера. Статическое объявление массива не эффективно, потому что выделяется конкретное количество памяти.

В языке программирования С++ операции «new» и «delete» нужны для динамического распределения памяти компьютера. Операция «new» берет память из свободной ячейки, а операция «delete» высвобождает ее. Выделяемая память должна высвобождаться, следовательно, операции new и «delete» используются парами. Если не делать высвобождение памяти, она все равно освободится ресурсами ОС, когда программа закончит свою работу.

Операции динамического массива:

int *ptrarr = new int;

delete ptrarr;

Поясним написанное выше:

Операция «new» выделяет объекту память и возвращает указатель правильного типа на данный участок памяти. Когда нет возможности выделить память, нулевой указатель возвращается, то есть выводится 0. Динамический массив может работать с любыми типами данных: int, float,double, char и т. д.

Приведем пример рабочей программы:

#include

#include

using namespace std;

int main()

{ setlocale(LC_ALL,"rus");

int num;

cout > num;

int *p_darr = new int[num];

for (int i = 0; i < num; i++) {

p_darr[i] = i;

cout

Просмотров работы: 45