a_p_13 - 13. Tipul referin, structuri de date dinamice (...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
104 13. Tipul referin••, structuri de date dinamice ( liste înl•n•uite •i arbori binari). 13.1. Tipul referin •• . Limbajul Pascal ofer• posibilitatea de a lucra atât cu variabile statice cât •i cu variabile dinamice . Caracteristicile variabilelor statice sunt bine definite, cunoscute •i fixe. Structura, tipul •i adresa de memorie nu se pot modifica în timpul execu•iei. Aceste variabile sunt referite prin numele lor, fiec•rui nume asociindu-i-se o adres• fizic• de memorie. Unei variabile statice i se poate modifica doar valoarea, nu •i adresa (locul s•u) din memoria intern•. Variabilele dinamice au un tip bine precizat înc• din faza de compilare îns• ele pot fi alocate dinamic (pot lua fiin•• în faza de execu•ie a programului), pot fi utilizate (referite) prin adresa lor din memoria intern• •i pot fi distruse (dealocate) dac• nu mai sunt utile. Aceste variabile pot fi referite printr-o variabil• de referin•• ce con•ine adresa variabilei dinamice. Variabila de referin•• poate face referiri numai la variabile dinamice de acela•i tip declarat, bine definit •i fix. Aceast• legatur• (coresponden••) între variabila dinamic• •i tipul de date referin•• permite cunoa•terea structurii variabilei dinamice. Variabilele de tip referin•• vor con•ine în timpul execu•iei adrese de memorie ale variabilelor dinamice referite. Datorit• acestui fapt, declararea tipului referin•• poate fi f•cut• înaintea definirii tipului variabilei dinamice referite. Definirea unui tip referin•• •i a variabilelor de tip referin•• se face astfel: Type Tip_ Referin•• = ^ Tip_Var_ Dinamic• ; Tip_Var_ Dinamic• = . .. { poate referi Tip_ Referin•• } Var Var_Ref 1 ,Var_Ref 2 ,... : Tip_ Referin•• ;{ V o r con•ine adrese}
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
105 Alocarea dinamic• (ocuparea zonei de memorie) pentru variabila dinamic• se realizeaz• cu procedura : New (Var_Ref) care caut• în memoria intern• o zon• liber• pentru variabila dinamic• •i furnizeaz• adresa acestei zone în variabila de tip referin•• ( Var_Ref ). Aceast• zon• este alocat• variabilei dinamice, f•r• a fi ini•ializat•. Dimensiunea zonei alocate variabilei dinamice este determinat• de tipul variabilei dinamice, a•a cum se poate vedea în exemplul urm•tor : Type Adresa=^Numar; Numar = Record Numar_Cifre : Byte; Sir_Cifre : Array [ 1..100 ] of Byte End; Var n : Adresa; Begin New (n); { Se aloc 101 octeti } ... {Prelucrare (n^) } End. Referirea unei variabile dinamice se face printr-o variabil• de tip referin•• (legat• de variabila dinamic•). Numele variabilei referin•• urmat de caracterul ^ reprezint• numele variabilei dinamice. Eliberarea zonei de memorie ocupat• de o variabila dinamic• se va executa cu instruc•iunea (apelul de procedur•) : Dispose ( Var_Ref ) care disponibilizeaz• zona de la adresa con•inut• în variabila Var_Ref .
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 29

a_p_13 - 13. Tipul referin, structuri de date dinamice (...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online