Najlepsze pytania
Chronologia
Czat
Perspektywa
Podprogram zagnieżdżony
Z Wikipedii, wolnej encyklopedii
Remove ads
Podprogram zagnieżdżony (podprogram lokalny[a], podprogram wewnętrzny[b]) – w programowaniu konstrukcja programistyczna umożliwiająca tworzenie podprogramów zawartych w innych podprogramach, a więc o ograniczonym zasięgu widoczności. Podprogramy takie są więc podprogramami lokalnymi w stosunku do podprogramu nadrzędnego. Podprogram zagnieżdżony może zostać wywołany wyłącznie w bloku podprogramu, w którym został zagnieżdżony. Wszystkie podprogramy zagnieżdżone mają dostęp do obiektów zdefiniowanych lokalnie w podprogramie nadrzędnym (tj. elementów takich jak np. zmienne, stałe, typy lub inne, które może w danym języku programowania deklarować i definiować lokalnie).
W wielu językach programowania taka konstrukcja jest niedostępna i wszystkie podprogramy są deklarowane oraz definiowane na tym samym poziomie programu (modułu). Tak jest m.in. w języku C[1][2][3], C++[3] i podobnych. Istnieje jednak grupa języków programowania, w których zrealizowano zagnieżdżanie podprogramów. Takimi językami są między innymi: Ada[4][5], Pascal[6][7], PL/1[8][9], PL/SQL[10].
Przykład w języku Pascal[6][7]:
procedure A;
var localA:integer;
function AB:integer;
begin
{ treść funkcji zagnieżdżonej AB }
end;
procedure AA;
begin
{ treść procedury zagnieżdżonej AA }
{ zmienna lokalna localA zadeklarowana w procedurze nadrzędnej A
jest także dostępna w podprogramach zagnieżdżonych }
localA:=AB;
end;
begin
{ wywołanie procedury zagnieżdżonej }
AA
end;
Remove ads
Uwagi
Przypisy
Bibliografia
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads