Cтраница 3
Обыкновенные локальные переменные в подпрограммах всегда забывают свое значение в момент окончания работы соответствующей подпрограммы. А при повторном вызове стартовые значения локальных переменных совершенно случайны. И если надо сохранять от вызова к вызову какую-нибудь локальную информацию, то ни в коем случае нельзя полагаться на локальные переменные, описанные в разделах VAR процедур и функций или как параметры-значения в заголовках. Но в этом случае приходится отводить глобальные переменные, по сути, под локальные данные. Турбо Паскаль позволяет решать эту проблему, используя статические локальные переменные или, что то же самое, локальные переменные со стартовым значением. Они вводятся как типизированные константы ( рис. 6.15) по тем же правилам, что и их глобальные аналоги ( см. разд. [31]
Локальных переменные сохраняются в структуре, содержащей код операции, которую необходимо выполнить для локальной переменной, контекст, который должен присутствовать в стеке контекста, чтобы операция выполнилась и результат операции, т.е. список понятий, изменяющих контекст. Параметр pa-ram сохраняет относительное смещение локальной переменной в стеке. [32]
![]() |
Ключи G77, управляющие генерацией исполняемого кода программы. [33] |
Все локальные переменные и массивы инициализируются нулевыми значениями, за исключением тех, которые используются в соммоы-блоках и не передаются в качестве аргумента. [34]
Индексированные локальные переменные с общим именем образуют массив. Простые и индексированные переменные могут меть одинаковое имя. Поэтому возможно одновременное существование массива А и простой переменной А. [35]
Если локальные переменные используются библиотечными программами ДИАМС-2, их имена должны начинаться со знака %, и их не рекомендуется применять пользователям. [36]
Могут ли локальные переменные ( LCLA) эффективно реализовываться простым добавлением в стек, так же как это делается с макропараметрами. [37]
Поэтому через локальные переменные нельзя передавать данные между инициирующей и запущенной программами. Для передачи данных следует использовать либо глобальные переменные, либо устройства ввода-вывода. Особенно удобно использование устройства взаимосвязи задач в ОЗУ. [38]
Чем отличаются локальные переменные от глобальных. [39]
![]() |
Окно Code.| Окно Immediate. [40] |
Окно Locals ( Локальные переменные), приведенное на рис. 1.8, автоматически отображает все объявленные переменные текущей процедуры и их значения. [41]
В процедуре две локальные переменные, Л1 и Л2, а точкой входа в нее служит инструкция с меткой РВХОД. Лишние запятые в списках формальных параметров и локальных переменных игнорируются. [42]
![]() |
Реализация функции Nearby int в FBD. [43] |
Обычно транслятор размещает локальные переменные и параметры функции в стеке. [44]
Порожденная программа инициализирует локальные переменные, в которых будут храниться производные значения. Это экономит запись на диск отношения с дополнительными полями. Вычисленные значения могут быть использованы последующими селекциями. [45]