Cтраница 1
Базированные переменные не могут иметь атрибутов INITIAL, VARYING и EXTERNAL, я также переменных граничных пар и переменных длин для строчных величин. [1]
Базированные переменные последовательно размещаются в этой области. Память в переменной типа область, которая занята текущими размещениями базированных переменных ( включая список свободных участков), определяет текущий размер переменной типа область. Максимальный текущий размер области записывается при ее объявлении. Текущий размер области изменяется во время выполнения программы в зависимости от распределения памяти внутри переменной типа область. [2]
Базированные переменные не должны иметь атрибута INITIAL, поскольку за ними не закрепляется определенного места в памяти. Кроме того, база не может быть сама базируемой переменной и компонентом массива. [3]
Базированные переменные целесообразно употреблять в процедурах. Это позволяет составить процедуру таким образом, чтобы она оперировала не самими объектами ( аргументами), а их адресами, что делает ее более универсальной. [4]
Уничтожаются базированные переменные по оператору FREE, описанному ранее. [5]
Не допускаются только элементы массивов, базированные переменные, формальные параметры процедур и имена файлов. [6]
Память, отведенная под управляемые или базированные переменные, освобождается при выполнении соответствующих операторов. [7]
Память, отведенная под управляемые или базированные переменные. [8]
В отличие от управляемых переменных ( см. выше), базированные переменные при размещении не могут снабжаться новыми атрибутами. После размещения базированной переменной ее указатель получает значение, равное начальному адресу основной ( оперативной) памяти, где находится эта переменная. [9]
Другой возможностью использования переменной типа область является копирование участка памяти, содержащей базированные переменные, в другую область памяти. [10]
Режим IN определяет имя переменной типа область ( см. ниже), в которой будут размещаться распределяемые базированные переменные. Если этот режим отсутствует, а в режиме SET указана ссылка на переменную типа смещение, то режим IN предполагается по умолчанию для области, объявленной в атрибуте OFFSET этой переменной типа смещение. [11]
Если указатель, связанный с одной базированной переменной, получил адрес с помощью встроенной функции ADDR, то и другие базированные переменные могут быть размещены в области памяти этой же переменной В этом случае значение адреса может быть присвоено указателю с помощью другого указателя, уже имеющего адрес. [12]
Если указатель, связанный с одной базированной переменной, получил адрес с помощью встроенной функции ADDR, то и другие базированные переменные могут быть размещены в области памяти этой же переменной. В этом случае значение адреса может быть присвоено указателю с помощью другого указателя, уже имеющего адрес. [13]
Базированные переменные обладают наибольшей гибкостью размещения в оперативной памяти. Положение базированной переменной определяется другой, связанной с ней переменной-указателем, которая получает абсолютный адрес основной памяти, выделяемой для базированной переменной. [14]
В некоторых случаях целесообразно размещать базированные переменные в помеченном участке основной памяти, а не получать случайную систему их хранения. [15]