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