Változók hatásköre, láthatósága
Egy név, azonosító hatásköre, vagy hatóköre a programnak az a része, ahonnan a jelölt programozási eszköz (változó, eljárás, függvény, objektum stb.) ezen az adott néven elérhető. Free Pascal esetében ez lehet az egész program, vagy egy alprogram (eljárás vagy függvény). A hatáskört más szóval láthatóságnak is nevezik.
Free Pascalban egy változó (eljárás, függvény stb.) láthatósága a deklarációtól érvényes.
Lokális és globális változók, azonosítók
Egy név (azonosító) lokális abban a blokkban, amelyben deklaráltuk, és globális minden olyan blokkban, amelyet ebből a blokkból hívunk meg.
Egy adott blokkban csak arra a névre lehet hivatkozni, amely ott lokális vagy globális. Azaz vagy abban az alprogramban van deklarálva, ahol hivatkozunk rá, vagy egy olyan alprogramban amely meghívta, illetve benne van a hívási sorozatában.
A főprogramban deklarált valamennyi programelem (változó, eljárás stb.) hatásköre a teljes program, hiszen a saját blokkjában lokális, míg az összes többiben globális.
Ha egy alprogramban deklarálunk egy azonosítót, akkor az felüldefiniálja a korábban deklarált vele azonos globális nevet.
Példa:
Program elettartam;
Var M, Y : Integer;
Procedure Eljaras(N : Word);
Var X, Y : Byte;
Begin
{eljárásbeli utasítások}...
End;
Begin
{főprogrambeli utasítások}...
End.
A példában a főprogrambeli utasításokban hivatkozható nevek az M, Y és az Eljaras, mert ezek ott lokálisak, ott lettek deklarálva. Az eljárásbeli utasítások között az N, X és az Y lokális változók, továbbá az M és Eljaras globális nevek fordulhatnak elő. Az Y itt Byte típusú változó, a főprogram Integer értéke közvetlenül nem érhető el, mert azt felüldefiniáltuk. Továbbá a főprogramból nem hivatkozhatunk az N és az X nevű változókra sem, mert azok se nem lokálisak, se nem globálisak tt.
Változók élettartama
A változó élettartama a program végrehajtási idejének az a része, ameddig az adott memóriaterületet arra használhatjuk, hogy az az adott változó értékét hordozza.
Az a memóriaterület, amely az adott programozási eszköz (pl. változó) értékének, értékeinek tárolásához van fenntartva.