Tipuri de date - pointeri

Referat
8/10 (1 vot)
Conține 1 fișier: ppt
Pagini : 19 în total
Mărime: 33.47KB (arhivat)
Publicat de: Dorina Preda
Puncte necesare: 5
Profesor îndrumător / Prezentat Profesorului: Gaina Ina,Grigorie Vasilache

Extras din referat

Multimea de valori ale tipului predefinit de date pointer(indicator) consta din adrese şi valoarea specială nil. Însă, spre deosebire de tipurile de date referinţă adresele cărora identifică numai variabilele dinamice ce aparţin tipului de bază, valorile de tip pointer pot identifica variabile dinamice de orice tip. Evidennt, valoarea nil nu identifică nici o variabilă dinamică. Prin convenţie, tipul de date pointer este compatibil cu orice tip de date referinţă. Operaţiile care se pot face cu valori de tipul de date pointer sînt = şi < >. Valorile de acest tip nu pot fi citite de la tastatură şi afişate pe ecran. O variabilă de tip pointer se introduce printr-o declaraţie de tipul: Var p: pointer;

Întrucît astfel de declaraţii nu conţin informaţii despre tipul de bază, tipul variabilei dinamice p^ este necunoscut. Prin urmare , variabilele de tip pointer nu pot fi dereperate, iar scrierea caracterului ^ dupa astfel de variabile constituie o eroare. Programul ce urmeză ilustrează utilizarea variabilelor de tip pointer pentru memorarea temporară a valorilor variabilelor de tip referinţă .

Program P134;

{ Tipul de date pointer }

var p : pointer;

i, j : ^integer;

x, y : ^real;

r, s : ^string;

begin

{ p va identifica o variabila dinamica

de tipul integer }

new(i); i^:=1;

p:=i;

new(i); i^:=2;

j:=p;

writeln('j^=', j^); { se afiєeaza 1 }

{ p va identifica o variabila dinamica

de tipul real }

new(x); x^:=1;

p:=x;

new(x); x^:=2;

y:=p;

writeln('y^=', y^);

{ se afiєeaza 1.0000000000E+00 }

{ p va identifica o variabila dinamica

de tipul string }

new(r); r^:='AAA';

p:=r;

new(r); r^:='BBB';

s:=p;

writeln('s^=', s^); { se afiseaza AAA }

readln;

end.

Domeniul pricipal de utilizare a variabilelor de tip pointer este gestionarea memoriei interne a calculatorului. În Turbo Pascal alocarea variabilelor dinamice se execută într-o zonă specială a memoriei interne numită heap(grămadă) . Adresa de început a heap-ului, numită adresa de bază , este depusă în variabila predefinită de tip pointer HeapOrg. Variabila de tip pointer HeapPtr conţine adresa primei locaţii libere , numită vîrful heap-ului(fig. 1).

Conținut arhivă zip

  • Tipuri de Date - Pointeri.ppt

Te-ar putea interesa și

Realizarea unei Baze de Date cu Ajutorul Limbajului C

1.Introducere Limbajul C s-a impus în principal datoritã existentei unui standard care contine toate facilitãtile necesare unui limbaj pentru a...

Studiul Circuitelor de Memorie

I) CIRCUITE DE MEMORIE, CIRCUITE LOGICE PROGRAMABILE 1. Circuite de memorie. Caractere Generale. 1.1 Definiţie Circuitele de memorie sunt...

Alocare dinamică - Turbo Pascal

ALOCAREA DINAMICA A MEMORIEI 1. INTRODUCERE Memoria RAM este împartita în locatii de memorie. Fiecare locatie memoreaza un octet (8 biti) si are...

Manual Limbaj C

1. Generalitati asupra limbajului C 1.1. Introducere Limbajul C a fost creat la începutul anilor '70 de catre Brian W Kernigham si Dennis M...

Programarea Calculatoarelor - Anul 1 - ETTI - C++

LUCRAREA 9 Scopul lucrarii îl constituie prezentarea tipurilor de date neomogene (structurile), utilizarea operatorului typedef în contextul...

Baze de Date

– Cunoaşterea limbajului de manipulare a datelor utilizat la extragerea informaţiilor prin intermediul clauzelor (SELECT, FROM, WHERE, GROUP BY,...

Pointeri la Funcții

1.1. Declararea unui pointer la functii Pointerii folositi pâna acum au fost pointeri la diferite tipuri de date, dar este posibil sa avem si...

Structuri de Date și Structuri de Prelucrare

Dezvoltarea rapidă şi complexă a societăţii a dus în mod inevitabil la o sporire însemnată a volumului de date, care tind să aglomereze şi să...

Ai nevoie de altceva?