Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(Unellez)
Barinas Edo. Barinas
Punteros en C++
Profesor: Marco Tulio Jerez
Leonardo Contreras
C.I 25450183
Algoritmo y Programacin II
Que es un Puntero?
Como vemos ocupa una posicin como una variable normal, pero en lugar de contener un entero como 4 contiene una
direccin de memoria (998). Como posicin de memoria que ocupa tambin tiene su direccin de memoria que se
puede obtener con el operador & es lo que se llama un puntero de puntero.
Estos se declaran igual que los dems anteponiendo el operador *:
int x = 4;
int *px = &x;
int **ppx = &px // es un puntero de puntero por lo que solo puede guardar direcciones de punteros de tipo int
Siguiendo con el ejemplo de nuestra memoria ficticia supongamos que la nueva variable ppx se crea en la posicin
997. Este sera el equema resultante.
Los punteros se pueden comparar entre ellos y se pueden asignar direcciones de memoria. Adems, se
pueden decrementar o incrementar. El incremento o el decremento vara segn el tipo de dato al que
apunten. A los punteros tambin se les puede sumar o restar nmeros enteros. NO SE PUEDE REALIZAR
NINGUNA OTRA OPERACIN ARITMTICA CON LOS PUNTEROS.
Los punteros son usados con frecuencia en C, y tienen gran cantidad de aplicaciones:
Proporcionan una forma de devolver varios datos desde una funcin mediante
los argumentos de la funcin.
Supongamos que v una variable que representa una determinado dato, esta variable le corresponde una
direccin de memoria, esta direccin de memoria puede ser accedida mediante &v (el operador unario &
proporciona la direccin del operando v).
Es importante recordar que si asignamos &v a una variable pv, dicha variable me va a representar la
direccin de memoria de v, y no su valor. Si queremos acceder al valor que posee la direccin
de x tendremos que poner: *pv (donde * es un operador unario, llamado operador indireccin, que opera
slo sobre una variable puntero). Entonces vemos que tanto v como como *pv, representan el mismo
valor. Si ahora asignramos a una variable u el valor de *pv, entonces voy a tener u y v representando al
mismo valor.
cout<<"\nLO QUE ALMACENA EL PUNTERO: "<< pNUM << endl;// Mostramos por pantalla lo que almacena nuestro
puntero.
return 0;
}