Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EP6 2018 - Punteros
EP6 2018 - Punteros
PUNTEROS
EXPLICACIÓN PRÁCTICA 6
CADP 2018
Facultad de Informática -
VARIABLES ESTÁTICAS
Memoria RAM
Pila
o Stack
Variables
VARIABLES DINÁMICAS
ac e n a la direcció n en
:
Variable Puntero
alm
ria b le variable
(llamad a
d e ot ra va
memoria
dinámica).
Ejemplo Memoria
Begin
new (p);
24
BASURA
23
p^ := 23;
suma(p); Variables Dinámicas
write(p^);
End. PRIME 24
IM
USO DE PUNTEROS
Ejemplo 4: Punteros como parámetros
Program ejemplo; p1 recibe una recibe una copia de la dirección de p.
Type Si modifico la dirección p1, p en el programa ppal
punt = ^integer; tiene la misma dirección que tenía antes de la llamada.
Procedure suma (p1:punt);
Begin p1: FAAF
FFFF Variables
p1^ := p1^ + 1; Estáticas
new(p1); {suma}
End; Q u é oc urre al
¿ p1) por
ar n e w (
reemplaz e(p1)? p: BASURA
FFFF Variables
Var dispos Estáticas
p: punt;
{Prog Ppal}
Begin
new (p); El dato queda en
p^ := 23; memoria pero
24
BASURA
23
suma(p); es inaccesible Variables
write(p^); Dinámicas
E 24
End. IMPRIM
BASURA
USO DE PUNTEROS
Ejemplo 5: Punteros como parámetros
p1 recibe la referencia de p. Si modifico la dirección
Program ejemplo; p1, estoy modificando la dirección de p en el programa
Type ppal.
punt = ^integer;