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

{Программа указателя на массив, доступа к элементам массива}

Program Point1;

Uses Crt;

Type

massiv=array[1..10] of integer; {описание типа массива из 10 целых чисел}

Var

i:integer;

a:massiv; {массив из 10 целых чисел}

PtrMas:^massiv; {указатель на массив}

Begin

{ввод элементов массива}

Writeln('Введите элементы массива: ');

for i:=1 to 10 do

begin

Writeln(i,'-й элемент массива ');

Readln(a[i]);

end;

ClrScr;

Writeln('Введенный массив: ');

{вывод элементов введенного массива }

for i:=1 to 10 do

Write(' ',a[i]);

Writeln;

{Присвоить указателю PtrMas адрес начала размещения массива в памяти}

PtrMas:=@a;

Writeln('Значение первого элемента массива, на который указывает PtrMas: ');

{Напечатать значение первого элемента массива, на который указывает указатель PtrMas}

Writeln(PtrMas^[1]);

{Присвоить указателю PtrMas адрес начала размещения второго элемента массива}

PtrMas:=@a[2];

Writeln(' Значение второго элемента массива, на который указывает указатель PtrMas: ');

{Напечатать значение первого элемента массива, на который указывает указатель PtrMas}

Writeln(PtrMas^[1]);

Writeln(' Значение 4-того элемента массива, на который указывает указатель PtrMas: ');

{Присвоить указателю PtrMas адрес 4-того элемента массива}

PtrMas:=Ptr(Seg(a[3]),Ofs(a[3])+SizeOf(integer));

{Ptr- преобразует базовый адрес сегмента и смещения в значение типа указатель}

{Напечатать значение 1 элемента массива, на который указывает указатель PtrMas}

Writeln(PtrMas^[1]);

Readkey;

end.

Порядок выполнения работы

1. Изучить теоретические сведения по теме ” Разработка программы использования динамической памяти”.

2. Получить у преподавателя индивидуальное задание и разработать программу для работы с динамической памятью и динамическими переменными согласно заданному варианту.

3. Показать работающую программу преподавателю.

4. Ответить на контрольные вопросы.

Контрольные вопросы

1. Статические и динамические переменные.

2. Указатели: типизированные, нетипизированные, Nil. Доступ к переменной по указателю.

3. Процедуры и функции управления динамической памятью

Лабораторная работа № 33

Разработка программы создания связанного списка

Цель работы: формирование знаний и умений по работе с динамической памятью. Приобретение навыков работы с динамическими структурами данных.

Краткие теоретические сведения


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: