Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Punteros

Estas en el tema de Punteros en el foro de C/C++ en Foros del Web. Bien pues necesito vuestra ayuda, a ver si me lo podeis explicar mejor que mi profesora por que ella no atina. Resulta que estamos dando ...
  #1 (permalink)  
Antiguo 16/01/2008, 06:11
 
Fecha de Ingreso: noviembre-2007
Mensajes: 6
Antigüedad: 16 años, 6 meses
Puntos: 0
Punteros

Bien pues necesito vuestra ayuda, a ver si me lo podeis explicar mejor que mi profesora por que ella no atina.

Resulta que estamos dando los punteros en clase ok??

y tengo como un pequeño lio en la cabeza:

por ejemplo tenemos la variable "x"

le asiganamos el valor 3 (x=3)

bien y ahora tenemos, por ejemplo, "px=&x" {Primera duda, esto que indica, ¿el valor que esta alojao en la variable x?}

y luego para rematar esta *px que puede ser el lugar es ASCII donde esta alojado x?? esk me lio muchisimo y no lo entiendo, ni su aplicacion tampoco.

Si hace falta explicarmelo como si fuese un niño pequeño xD pero es que quiero aprenderlo y no lo entiendo:S

Gracias, GuiGo_
  #2 (permalink)  
Antiguo 16/01/2008, 07:35
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años
Puntos: 28
Re: Punteros

Cita:
Iniciado por guigolinho Ver Mensaje
Bien pues necesito vuestra ayuda, a ver si me lo podeis explicar mejor que mi profesora por que ella no atina.

Resulta que estamos dando los punteros en clase ok??

y tengo como un pequeño lio en la cabeza:

por ejemplo tenemos la variable "x"

le asiganamos el valor 3 (x=3)

bien y ahora tenemos, por ejemplo, "px=&x" {Primera duda, esto que indica, ¿el valor que esta alojao en la variable x?}
...
No, le estás asinando a px la dirección de la variable x.

Cita:
Iniciado por guigolinho Ver Mensaje
...
y luego para rematar esta *px que puede ser el lugar es ASCII donde esta alojado x?? esk me lio muchisimo y no lo entiendo, ni su aplicacion tampoco.
...
No entiendo la pregunta, px es una variable en la que almacenas una dirección de memoria, en el ejemplo que pones estás almacenando la dir de la variable x, no su contenido.

Cita:
Iniciado por guigolinho Ver Mensaje
...
Si hace falta explicarmelo como si fuese un niño pequeño xD pero es que quiero aprenderlo y no lo entiendo:S

Gracias, GuiGo_
Un puntero, viéndolo desde el punto de vista más elemental, es una variable que almacena direcciones de memoria, solo eso, por ejemplo:
Código:
char *a;
int *b;
float *c;
Allí hay 3 punteros, los 3 ocupan la misma cantidad de memoria y sirven para lo mismo, la diferencia es que cada uno almacena una dirección de memoria de un tipo de dato en particular.

Quiero aclarar que la dirección de memoria no es de tipo char o float, lo que está almacenado en la posición a la que "apuntan" las variables será interpretado de ese tipo.

De hecho las direcciones de memoria son enteros sin signo, no podrías tener la posicion -5, por ejemplo, pero si la 0x123. Se suelen representar en hexadecimal si imprimes un puntero:

Código:
char *a;
int *b;
float *c;
cout << "\n Puntero a: " << a;
cout << "\n Puntero b: " << b;
cout << "\n Puntero c: " << c;
Verás que los tres te muestran un número hexadecimal, menos el primero que tratará de interpretarlo como una cadena de caracteres.

Te recomiendo que busques otros temas parecidos en el foro y en las FAQs del foro para que te orientes mejor.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:25.