ayuda punteros
Si me encuentro con esto, me podria decir alguien lo que contiene en cada caso:
int i=3, *q=&i
cout<<q
cout<<*q
cout<<&q
+ Entiendo que *q contiene la direccion de memoria de i
+ q me da como resultado una direccion y no se a quien corresponde
+ &q deberia indicar la direccion a la que apunta, es decir la direccion de i, entonces no seria la misma direccion que *p
AYUDA GRACIAS!!
int i=3, *q=&i
cout<<q
cout<<*q
cout<<&q
+ Entiendo que *q contiene la direccion de memoria de i
+ q me da como resultado una direccion y no se a quien corresponde
+ &q deberia indicar la direccion a la que apunta, es decir la direccion de i, entonces no seria la misma direccion que *p
AYUDA GRACIAS!!
Para cout<<q:
Debuelve un numero exadecimal que es la pocicion de memoria a la que aputa q (en este caso la direccion de i)
Para cout<<*q devuelve el valor que tiene la variable a la que apunta q (el valor de i, 3)
Para cout<<&q debuelve la direccion de memoria del puntero q.
Debuelve un numero exadecimal que es la pocicion de memoria a la que aputa q (en este caso la direccion de i)
Para cout<<*q devuelve el valor que tiene la variable a la que apunta q (el valor de i, 3)
Para cout<<&q debuelve la direccion de memoria del puntero q.
Veamos, separado en partes tienes:
int i;
int *q;
i = 3;
q = &i;
/* la variable i es entera y se le asigna el valor 3;
q es un puntero a entero que guarda la dirección de i,
de modo que se puede decir que *q == 3; */
cout<<q; // mostrará la dirección de i, igual que cout<< &i;
cout<<*q; // mostrará un 3, igual que cout<< i;
cout<<&q // mostrará la dirección de q;
Cuando uno dice que q = &i; está diciendo que *q == i; y no que q vaya a estar en el mismo lugar que i.
int i;
int *q;
i = 3;
q = &i;
/* la variable i es entera y se le asigna el valor 3;
q es un puntero a entero que guarda la dirección de i,
de modo que se puede decir que *q == 3; */
cout<<q; // mostrará la dirección de i, igual que cout<< &i;
cout<<*q; // mostrará un 3, igual que cout<< i;
cout<<&q // mostrará la dirección de q;
Cuando uno dice que q = &i; está diciendo que *q == i; y no que q vaya a estar en el mismo lugar que i.
