{Программа указателя на массив, доступа к элементам массива}
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
Разработка программы создания связанного списка
Цель работы: формирование знаний и умений по работе с динамической памятью. Приобретение навыков работы с динамическими структурами данных.
Краткие теоретические сведения