Punteros
Publicado en General el 29 de November, 2008 por Lek.En programación, un puntero es aquella variable cuyo contenido es la dirección de memoria donde realmente está la información. Son útiles para diferenciar entre manejar las variables por referencia o por valor, pero también es uno de los conceptos que más les cuesta comprender a los que se acercan a la programación. De ahí que Java, que no permite utilizar los punteros directamente, sea considerado un mal lenguaje para aprender a programar: Porque te pierdes conceptos básicos.
El otro día, no sé muy bien a cuento de qué, se me ocurrió la siguiente comparativa:
Imaginad que a correos llega un sobre. El contenido de la variable sería la carta. El puntero a esa variable sería el destinatario, mientras que el puntero del puntero vendría a ser el remitente.
Yo añadiría que Java es un lenguaje de punteros, los objetos son punteros a un tipo de estructuras, por eso son los únicos que en Java pueden pasarse como parámetro por referencia.
PD: ¿Ya hemos vuelto?
# Fran 29 de November, 2008
Pues no acabo de pillar la alegoría. No comprendo en qué sentido el destinatario apunta al sobre, o en qué sentido el remitente apunta a la dirección del destinatario. Como mucho se podrían considerar punteros el remitente y el destinatario, en el sentido de que contienen una dirección (literalmente, además) a un par de domicilios.
# Harad 30 de November, 2008
Hombre, la analogía no está mal, yo termine por aprenderlos así:
La nota llamada “variable” contiene un valor, una información y está guardada el cajón de la cocina.
En el frigorifico hay otra nota llamada “puntero-nota” que como información no contiene un valor sino pone donde esta la nota “variable”, es decir pone: “la nota variable está en el cajón”.
Además en la entrada de la casa hay otra nota llamada “puntero-puntero” que dice como llegar a la nota “puntero-nota”.
Así sucesivamente, las veces que queramos.
# David 30 de November, 2008
Hemos vuelto, aunque esta semana la tengo bastante copada.
Harad, el destinatario es la dirección donde el sobre debe estar. Es cierto que lo del remitente está con pinzas, aunque creo que con un poco de imaginación se entiende ;) Sería la dirección que apunta al destinatario pues si el destinatario no se encuentra, se devuelve al remitente.
# Lek 1 de December, 2008