C/Visual C - Ayuda con las llamadas "Listas Enlazadas"

 
Vista:

Ayuda con las llamadas "Listas Enlazadas"

Publicado por Jose Morales (16 intervenciones) el 11/12/2005 22:36:36
Hola tengo una duda, pk no se pueden cambiar la direccion de los punteros en el siguiente, programa, osea, en la funcion si se cambia la direccion, pero luego ke regresa todo a main, los punteros, recuperan su direccion pasada, y yo kiero ke la mantengan, ke puedo hacer, alguna solucion?

#include <iostream.h>

void cambiar(int*,int*);

int main(){

int numero1=80,numero2=67;
int *a=&numero1,*b=&numero2;
cout<<numero1<<" "<<numero2<<endl;

cambiar(a,b);
cout<<*a<<" "<<*b<<endl;
return 0;

}

void cambiar(int * a,int * b){
a=b;
cout<<*a<<" "<<*b<<endl;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con las llamadas

Publicado por fernando.gomez (1603 intervenciones) el 12/12/2005 02:52:01
En la función "cambiar", asignas a "a" la dirección de memoria de "b". En teoría, ambas variables deberían apuntr a numero1. Creo que la función tendría que ser algo como:

void cambiar(int * a,int * b)
{
int* pAux;
pAux = b;
a=b;
b=pAux;

cout<<*a<<" "<<*b<<endl;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar