Está en la página 1de 2

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA


INGENIERÍA DE SISTEMAS

PROGRAMACIÓN Y FUNDAMENTOS DE ALGORITMOS


ALGORITMICA I

PRÁCTICA DE PUNTEROS PRIMERA PARTE


1. Sin ejecutarlo, ¿qué mostraría el siguiente có digo?
int x = 5, y = 12, z;
int *p1, *p2, *p3;
p1 = &x;
p2 = &y;
z = *p1 * *p2;
p3 = &z;
(*p3)++;
p1 = p3;
cout << *p1 << " " << *p2 << " " << *p3;

2. ¿Qué problema hay en el siguiente có digo?


int dato = 5;
int *p1, p2;
p1 = &dato;
p2 = p1;
cout << *p2;

3. ¿Qué problema hay en el siguiente có digo?


double d = 5.4, e = 1.2, f = 0.9;
double *p1, *p2, *p3;
p1 = &d;
(*p1) = (*p1) + 3;
p2 = &e;
(*p3) = (*p1) + (*p2);
cout << *p1 << " " << *p2 << " " << *p3;

4. Como podemos tener punteros que apunten a cualquier tipo de datos, también
podemos tener punteros que apunten a punteros:
int x = 5;
int *p = &x; // Puntero a entero
int **pp = &p; // Puntero a puntero a entero
Para acceder a x a través de p escribimos *p. Para acceder a x a través de pp
escribimos **pp, o *(*pp). Con *pp accedemos a p, el otro puntero.
Indica qué es lo que muestra el siguiente có digo:
int x = 5, y = 8;
int *px = &x, *py = &y, *p;
int **ppx = &px, **ppy = &py, **pp;
p = px;
px = py;
py = p; x= 8 y= 5
pp = ppx;
ppx = ppy; **ppx
ppy = pp;
cout << **ppx << " " << **ppy;
Dibuja en una hoja los distintos datos y có mo van apuntando los punteros a los otros datos a medida que se
ejecutan las instrucciones.

También podría gustarte