Se poate trece la capitolul următor cu tasta ► și se poate reveni la un capitol precedent cu tasta ◄

Cum putem defini și opera cu pointeri în Pascal


<

C
a
p
i
t
o
l
u
l

a
n
t
e
r
i
o
r

<

Declarare și utilizare

Pointeri cu tip în limbajul de programare Pascal.

Pointerii cu tip se declară doar adăugând simbolul ^ înaintea tipului de dată. Pentru accesare/deferențiere se folosește același simbol după numele variabilei.

Instrucțiunea new are rolul de a inițializa pointerul, adică de a găsi o locație liberă din memorie de lungime corespunzătoare. În cazul ăsta, de lungimea unui integer. Dispose este opusul său; va dealoca spațiul utilizat care pe urmă va fi liber să fie folosit de altă variabilă. Însă în cazul acesta, se întâmplă ceva ciudat:

Inițializare implicită pointer în limbajul de programare Pascal.

Chiar și dacă dealocăm pointerul și pe urmă facem o atribuire, programul tot va funcționa:

Output al unui program cu pointeri în limbajul de programare Pascal.

Ceea ce înseamnă că inițializarea tipurilor de pointeri se face automat. Este bine de știu, însă întotdeauna un pointer se va inițializa înainte de folosire și nu trebuie să ne bazăm pe un anume comportament al limbajelor de programare.

Însă pointerii lucrează cel mai bine în pereche cu tipuri complexe de date. La urma urmei trebuie să avem multe variabile de tip întreg să ne punem probleme de spațiu de memorie ocupat. Așadar să vedem o implementare de tip pointer către o structură mai complexă de date:

Cum putem declara pointeri la structuri de date și cum putem lucra cu acestea în limbajul de programare Pascal.

Pur și simplu declarăm structura noastră de date și pe urmă putem construi tipul nostru de pointer, iar pe urmă trebuie doar să îl folosim. Desigur, puteam să definim totul mai simplu în felul următor:

Cum putem declara pointeri la structuri de date în limbajul de programare Pascal.

Pur și simplu nu am creat un tip de dată care să fie pointer la structura noastră. Am sărit un pas. Dar nouă nu ne e teamă să știm și să facem mai multe.


>

C
a
p
i
t
o
l
u
l

u
r
m
ă
t
o
r

>

Ți-a fost de ajutor ce am scris aici?
Hei, mersi de răspuns.