Título: duda sobre punteros Publicado por: maryrisas en 20 Febrero 2006, 20:15 pm Mi duda es si teniendo una variable y un puntero,e inicializas la variable a 0,haces que el puntero apunte a a la variable y por ultimo al puntero le asignas el valor de 5,¿el nuevo contenido de la variable es el valor del puntero?si es así,¿porqué es así?no entiendo
ejemplo: int main(){ long dato=0; long *p_dato; *p_dato=5; printf("\n\t el nuevo contenido de dato es:%ld",dato); printf("\n\t el nuevo contenido de la dir. almacenada es: %ld",*p_dato); getch(); } Título: Re: duda sobre punteros Publicado por: [[JONAS]] en 23 Febrero 2006, 17:59 pm Si acabas de iniciarte en punteros, al principio es un poco lioso pero una vez que coges bien el concepto es fácil:
veamos tu cuando declaras una variable de Tipo lo que sea por ejemplo long dato = 0 lo que estas haciendo realmente es reservar una dirección de memoria por ejemplo la direccion AAAAA cuyo contenido la inicializas a un 0 cuando haces long dato = 0 es como si a la dirección de memoria AAAA la llamaras dato y la inicializas a 0. por otro lado un Puntero lo que hace es apuntar a una dirección de memoria por lo que si haces long *p_dato ; p_dato = dato; lo que haces realmente es que el puntero apunte a la dirección de memoria AAAA cuyo contenido es 0 ahora mismo. Ahora tu con el puntero puedes modificar el valor de lo que contiene esa dirección de memoria. por lo que si haces *p_dato = 5; estas haciendo que la dirección AAAA contenga ahora no un 0 sino un 5 por eso cuando haces un printf de la variable dato( que en realidad es la dirección AAAA) ya no vale 0 sino 5 Espero que esto te ayude a comprender un poco mejor el tema de los punteros |