No se si funcionara lo mismo en todos los lenguajes pero mas que nada lo quiero saber en Pascal (creo q es Delphi tambien).
Diganme en que me estoy equivocando:
Un puntero es una direccion de memoria, por lo que sea el valor que esta contenga siempre apuntara hacia ahi. Bueno yo ahi dije: Ya entiendo cual sera la diferencia.. con variables comunes si hacemos:
a = 4
b = a
a = 5
c = a * b
La variable c valdria 20 ya que no importa si luego a cambia de valor o no.
Pero trabajando en punteros, mi idea era que si importaba lo que entonces daria 25.
Como funciona esto? tienen algun ejemplo que no encontre uno para decir: Oh, que grandes son los punteros! xD
Un puntero es una variable que contiene una dirección de memoria, o que apunta a una dirección de memoria como se suele decir para que se entienda mejor.
Obviamente si en tu ejemplo B fuese un puntero, C terminaria con un valor de 25.
Por ejemplo:
a = 4; Variable A | valor = 4 | Dirección = 0x1000
*b = &a, Puntero B | valor = 0x1000 | Dirección = 0x1128
a = 5; Variable A | valor = 5 | Dirección = 0x1000
*b; Puntero B | valor = 0x1000 | Dirección = 0x1128
Independientemente del los cambios que sufra el valor de la variable A, la dirección es la misma (en este ejemplo por supuesto, puede haber casos en donde la dirección de memoria cambie por varios motivos: variables fuera del scope, nueva reserva de memoria dinamica, etc). Por lo tanto al acceder desde el puntero B, siempre vas a acceder al valor actual de la variable A.
Razones para los punteros hay muchas, desde el pasaje por referencia hasta el uso de memoria dinamica, arreglos, listas y miles de etcs. Todo lo que no permita usar punteros de forma nativa es porque en su implementación ya los utiliza y te ahorra el trabajo (por ejemplo en lenguajes como Java).
Hilos sobre punteros los hay muchos por el foro, utiliza el buscador a ver que encuentras y si no me dices.
Saludos!
De hecho estoy haciendo un tutorial sobre punteros pero guiado al Game Hacking basándome en el CE... para aquellos que os interese ;D.
Luego lo publico...
Gracias littlehorse! y se espera ese tutorial unbroken :P
Cita de: Unbr0ken en 23 Noviembre 2011, 23:59 PM
De hecho estoy haciendo un tutorial sobre punteros pero guiado al Game Hacking basándome en el CE... para aquellos que os interese ;D.
Luego lo publico...
Avisa cuando lo publiques y seria bueno que explicaras con mayor detalle eso de las direcciones de memoria y si estan reservadas o algo asi, a prueba de imbeciles por favor, gracias xD
HOLA!!!
Mmm, pense que habias entendido Pff.
GRACIAS POR LEER!!!
Cita de: Unbr0ken en 23 Noviembre 2011, 23:59 PM
De hecho estoy haciendo un tutorial sobre punteros pero guiado al Game Hacking basándome en el CE... para aquellos que os interese ;D.
Luego lo publico...
Cuando loa cabes y lo publiques avisa que seguramente me venga bien :laugh: