русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Next:point


Дата додавання: 2014-11-28; переглядів: 749.


End;

Var

A:Point;

А – ідентифікатор,що має тип вказівника Спочатку значення A неозначено, оскільки описана структура даних не створена і вказівник не вказує адресу початкового елемента динамічноі структури. Щоб створити таку структуру в Паскалі передбачена процедура New(A). Ця процедура створює перший елемент динамічної структури і розміщує адресу цієї структури в вказівник, тобто в змінну А. Пам’ять для розміщення елементів динамічної структури береться зовні програми. Цю пам’ять принято називати “ кучею” в результаті виконання процедури New. В зв’язку з введенням в Паскалі типу данних вказівник в стандарті мови передбачена константа з іменем Nil. Nil –це вказівник, який ні на що не вказує, тобто він має значення Nil.

В Паскалі є процедура Dispose,форма запису якої має вигляд

Dispose(Ідентифікатор)

З допомогою цієї процедури звільняється пам’ять, занята структурами даних, на які вказує посилання. Звільнена пам’ять повертається в секцію Heap(‘’куча’’).

Приклад

Var Q:^t;

Begin

new(Q);

Dispose(Q);

Приклад

Type D1=^data1; D2=^data2;

Var

E1:D1;

E2:D2;

Описані нижче оператори присвоювання заборонені в Паскалі, оскількиE1 і E2 вказівники різних типів даних:

E1:= E2;

E2:=E1;

Після виконання першого оператора виявиться, що вказівка на об’єкт типу data1 буде вказівкою на об’єкт типу data2, і навпаки, що в Паскалі заборонено.

Приклад. Маємо файл цілих додатніх чисел, що складається з декількох послідовностей чисел, кожна з яких закінчується цілим від’ємним числом –1. Вивести в вихідний файл ці послідовності чисел, але всередині кожної послідовності числа повинні бути в зворотньому порядку.

1 3 7 –1 2 0 6 7 –1 вхідний файл

7 3 1 –1 7 6 0 2 –1 вихідний файл

Довжина цих послідовностей наперед невідома, тому змінні, в які будуть зчитуватися ці числа повинні мати динамічну структуру.

Program Lists;

Type

Pointer=^DataSet;

DataSet=record

Data:integer;


<== попередня лекція | наступна лекція ==>
Re,im: real | Point:Pointer


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн