Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
54
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Тип Pointer

Встроенный тип Pointer обозначает нетипизированный указа-

тель, то есть указатель, который не указывает ни на какой опреде-

ленный тип. Переменные типа Pointer могут быть разыменованы: ука-

зание символа ^ после такой переменной вызывает появление ошибки.

Как и значение, обозначаемое словом nil, значения типа Pointer

совместимы со всеми другими типами указателей.

Примечание: В разделе "Указатели и динамические пере-

менные" в Главе 5 вы можете найти синтаксис ссылки на дина-

мические переменные, которые указываются с помощью указате-

ля-переменной.

Тип pChar

Для представления указателя на строку с завершающим нулем в

Borland Pascal имеется предопределенный тип PChar. В блоке System

данный тип описывается следующим образом:

type PChar = ^Char;

Borland Pascal поддерживает набор расширенных правил, позво-

ляющих работать со строками с завершающим нулем, используя тип

PChar. Полностью эта тема обсуждается в Главе 18 "Использование

строк с завершающим нулем".

Процедурные типы

В стандартном Паскале процедуры и функции рассматриваются

только как части программы, которые можно выполнять с помощью вы-

зова процедуры или функции. В Borland Pascal процедуры и функции

трактуются гораздо шире: здесь допускается интерпретация процедур

и функций, как объектов, которые можно присваивать переменным и

передавать в качестве параметров. Такие действия можно выполнять

с помощью процедурных типов.

В описании процедурного типа задаются параметры, а для функ-

ции - результат функции.

процедурный тип

¦

¦ ----------

LT>¦procedure+-T----------------------------------------------->

¦ L---------- ¦ ----------------------------- ^ ^

¦ L->¦список формальных параметров+-- ¦

-- L----------------------------- L-

¦ --------- ---- ----------¦

L>¦function+T-------------------------------->¦ : +>¦результат+-

L---------¦ -----------------------------^ L---- L----------

L>¦список формальных параметров+-

L-----------------------------

Характерно, что синтаксис записи процедурного типа в точнос-

ти совпадает с записью заголовка процедуры или функции, только

опускается идентификатор после ключевого слова procedure или

function. Приведем некоторые примеры описаний процедурного типа:

type

Proc = procedure;

SwapProc = procedure(var X, Y: Integer);

StrProc = procedure(S: String);

MathFunc = function(X: Real): Real;

DeviceFunc = function(var F: text): Integer;

MaxFunc = function(A, B: Real; F: MathFunc): Real;

Имена параметров в описании процедурного типа играют чисто

декоративную роль - на смысл описание они не влияют.

Borland Pascal не позволяет описывать функции, которые возв-

ращают значения процедурного типа. Результат функции должен быть

строкового, вещественного, целого, символьного, булевского типа,

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

лем.

Соседние файлы в предмете Программирование на Pascal