![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Нулевой указатель
Записывается NIL и означает, что переменная типа указатель не указывает ни на что. Возвращаясь к процедурным типам, скажем, что значение NIL можно присваивать и переменным такого типа (так как, по сути, они являются указателями и содержат адреса соответствующих процедур и функций). В данном случае это будет означать, что переменная не указывает ни на какую процедуру или функцию. Чтобы определить адрес процедуры или функции, на которую указывает переменная процедурного типа (например, для сравнения с NIL), нужно использовать оператор взятия адреса @. Пример (продолжение примера из параграфа 5.3) PROCEDURE Test(f, G: Func); { G – первообразная f } BEGIN Writeln('Приближенное значение интеграла: ', IF @G< > NIL THEN Writeln('Точное значение интеграла: ', END;
FUNCTION G1(x: Real): Real; BEGIN G1: =Sqr(x)/4-Cos(x) END; { Первообразная функции
FUNCTION f2(x: Real): Real; BEGIN f2: =Sin(x)/x END; { Интеграл ∙ ∙ ∙ Test(f1, G1); { Напечатаются приближенное Test(f2, NIL); { Напечатается только
|