Локализация имён переменных в Turbo Pascal означает, что программные объекты, описанные внутри какой-либо процедуры, существуют только в пределах этой процедуры и как бы «невидимы» снаружи. studfile.net samoychiteli.ru
Некоторые особенности работы локализации имён:
- Имена, описанные в одном блоке, могут совпадать с именами из других блоков, как содержащих данный блок, так и вложенных в него. studfile.net Это объясняется тем, что переменные, описанные в разных блоках, даже если они имеют одинаковые имена, хранятся в разных областях оперативной памяти. studfile.net
- Имя, описанное в блоке, «закрывает» совпадающие с ним имена из блоков, содержащих данный. studfile.net Если в двух блоках, один из которых содержится внутри другого, есть переменные с одинаковыми именами, то после входа во вложенный блок работа будет идти с локальной для данного блока переменной. studfile.net Переменная с тем же именем, описанная в объёмлющем блоке, становится временно недоступной, и это продолжается до момента выхода из вложенного блока. studfile.net
- Глобальные имена хранятся в области памяти, называемой сегментом данных (статическим сегментом) программы. studfile.net Они создаются на этапе компиляции и действительны на всё время работы программы. studfile.net
- Локальные переменные хранятся в специальной области памяти, которая называется стек. studfile.net Они являются временными, так как создаются в момент входа в подпрограмму и уничтожаются при выходе из неё. studfile.net