Alocare dinamică - Turbo Pascal

Proiect
8/10 (1 vot)
Domeniu: Calculatoare
Conține 2 fișiere: doc, pas
Pagini : 21 în total
Cuvinte : 4277
Mărime: 30.72KB (arhivat)
Publicat de: Dimitrina Dascalu
Puncte necesare: 6

Cuprins

  1. 1. INTRODUCERE
  2. Denumirea tipului pointer
  3. Alocarea si eliberarea memoriei pentru pointeri
  4. Folosirea variabilelor referite de pointeri
  5. Pointerul NIL
  6. Atribuirea unui pointer la alt pointer
  7. 2. LISTE
  8. 2.1 Notiunea de lista
  9. 2.2 Liste liniare simplu înlantuite
  10. 2.3 Liste liniare dublu înlantuite
  11. 2.4 Liste circulare
  12. 3. Stive si cozi
  13. 4. Aplicatia
  14. Bibliografie

Extras din proiect

ALOCAREA DINAMICA A MEMORIEI

1. INTRODUCERE

Memoria RAM este împartita în locatii de memorie. Fiecare locatie memoreaza un octet (8 biti) si are o adresa exprimata în hexazecimal.

Variabilele limbajului Pascal sunt de deoua tipuri:

- Variabile statice;

- Variabile dinamice.

Variabilele statice trebuie declarate în zona ded declaratii a programului, precizând numele si tipul lor. Compilatorul limbajului Pascal rezerva automat pentru fiecare variabila statica, o zona fixa în memoria interna RAM, alcatuita din locatii succesive.

Numarul acestor locatii (octeti) depinde dee tipul variabilei:

- Doi octeti pentru integer;

- Sase octeti pentru real;

- Un octet pentru char.

Acest mod de memorare a variabilelor statice se numeste alocare statica a memoriei.

Exemplu: var x:integer;

Un alt mod de memorare a variabilelor este alocarea dinamica a memoriei, prezentata în continuare.

Se considera un numar întreg. În loc sa fie memorat numarul întrt-o variabila x de tipul integer, se va memora în x adresa de memorie a numarului respectiv. În acest caz spunem ca variabila x adreseaza un numar întreg si se numeste pointer catre un numar întreg. Pentru declararea pointerilor se foloseste operatorul ^ („sageata”).

Exemplu: var x:^integer;

Tipul de date ^integer al variabilei x se numeste „tipul pointer catre numere întregi” sau „tipul referinta catre numere întregi”.

Daca pointerul x contine adresa unui numar întreg, atunci numarul propriu-zis se va memora într-o variabila pereche atasata (creata automat), care se noteaza cu x^ si se numeste variabila dinamica.

Exemplu:

Var u:^real;

C:^char;

Denumirea tipului pointer

Tipurile de date „pointer catre real”, „pointer catre întreg” sunt anonime. Un tip pointer poate fi însa denumit, ca orice tip anonim, cu cuvântul cheie type.

Exemplu: type preal=^real;

Var x,y,z,u: preal;

Se considera un pointer x catre un numar întreg: var x:^integer;

Numarul întreg se va memora în variabila dinamica pereche x.

Alocarea si eliberarea memoriei pentru pointeri

La declararea unui pointer, compilatorul Pascal nu aloca automat spatiul de memorie necesar. Acest lucru trebuie facut de program, apelând procedura NEW care primeste ca parametru pointerul. Operatia se numeste alocare dinamica a memoriei.

Exemplu: NEW(x);

Când nu mai este nevoie de pointer, trebuie eliberata memoria care a fost alocata, pentru ca nici aceasta nu se face automat. Pentrru eliberarea memoriei se apeleaza procedura DISPOSE, care de asemenea primeste ca parametrtu pointerul.

Exemplu: DISPOSE(x);

Atât alocarea, cât si eliberarea memoriei au loc în faza de executie a programului si nu în faza de compilare.

Folosirea variabilelor referite de pointeri

Preview document

Alocare dinamică - Turbo Pascal - Pagina 1
Alocare dinamică - Turbo Pascal - Pagina 2
Alocare dinamică - Turbo Pascal - Pagina 3
Alocare dinamică - Turbo Pascal - Pagina 4
Alocare dinamică - Turbo Pascal - Pagina 5
Alocare dinamică - Turbo Pascal - Pagina 6
Alocare dinamică - Turbo Pascal - Pagina 7
Alocare dinamică - Turbo Pascal - Pagina 8
Alocare dinamică - Turbo Pascal - Pagina 9
Alocare dinamică - Turbo Pascal - Pagina 10
Alocare dinamică - Turbo Pascal - Pagina 11
Alocare dinamică - Turbo Pascal - Pagina 12
Alocare dinamică - Turbo Pascal - Pagina 13
Alocare dinamică - Turbo Pascal - Pagina 14
Alocare dinamică - Turbo Pascal - Pagina 15
Alocare dinamică - Turbo Pascal - Pagina 16
Alocare dinamică - Turbo Pascal - Pagina 17
Alocare dinamică - Turbo Pascal - Pagina 18
Alocare dinamică - Turbo Pascal - Pagina 19
Alocare dinamică - Turbo Pascal - Pagina 20
Alocare dinamică - Turbo Pascal - Pagina 21

Conținut arhivă zip

  • Alocare Dinamica - Turbo Pascal
    • Alocare Dinamica - Turbo Pascal.doc
    • LISTE.PAS

Alții au mai descărcat și

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Autentificarea prin semnătură digitală

Introducere O semnatura digitala reprezinta o informatie care il identifica pe expeditorul unui document. Semnatura digitala este creata prin...

Placa de Bază

Caracteristici generale ale placii de baza Placa de baza este un dizpozitiv ‘de baza’ un ‘pamânt’ pe care ‘se planteaza’ celelalte componente ....

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

Te-ar putea interesa și

Motorul Otto

INTRODUCERE Prezenta lucrare tratează rezolvarea unor programe de loc geometric cu ajutorul animaţiei în Borland Pascal. Lucrarea de faţă este...

Proiect - Turbo Pascal

Capitolul 1 PREZENTAREA TEHNICII BACKTRAKING Aceasta tehnica se foloseste in rezolvarea problemelor care indeplinesc simultan urmatoarele...

Tipuri de date - pointeri

Multimea de valori ale tipului predefinit de date pointer(indicator) consta din adrese şi valoarea specială nil. Însă, spre deosebire de tipurile...

Pascal

Proceduri destinate gestiunii generatorului de sunet si a intensitatii video Procedura Sound Procedura Sound asigura pornirea generatorului de...

Ai nevoie de altceva?