Программирование на языке Pascal



         

Совмещение в памяти


Второй способ: описать внутри подпрограммы локальную переменную, которая будет физически совпадать с переменной, передаваемой через нетипизированный параметр:

<локальная_переменная>: <тип> absolute <нетипизир_параметр>;

В этом случае будут совмещены значения, физически записанные в этих переменных, в точности так же, как это происходит при подстановке аргумента в параметр-переменную, однако без контроля за совпадением типов данных. Поэтому вполне возможна, например, ситуация, когда первые четыре байта строки (аргумента, переданного в нетипизированный параметр) будут восприниматься как longint-число:

function func5(var x):real; var xxx: longint absolute x; begin {здесь с началом любой переменной, поступившей в параметр х, ... можно обращаться как с longint-числом: при помощи локальной переменной ххх} end;




Содержание  Назад  Вперед