Está en la página 1de 1

SOMOS PROGRAMACION

Hola, ya encontrado el fallo, tienes 2 errores, uno al principio haces:


prin=(nodo*)malloc(sizeof(nodo));
//fin=(nodo*)malloc(sizeof(nodo));
Te he comentado fin, porque si reservas memoria para fin, luego en la funcion no puedes hacer
cosas del estilo,
fin=registro;
es porque despues del malloc tanto prin y fin tienen una direccion de memoria fija, y esta no se
puede cambiar!
y el segundo fallo:
tu cuando pasas variables a una funcion , esas variables
(en este caso nodo* registro, nodo *fin) no las estas cambiando realmente, se hace una copia en
memoria pero los cambios no surten efecto en la variable original, que es lo que tu querias, quizas
con un ejemplo me explique mejor;
int x=5;
mi_funcion(x);
printf("%d\n",x); //el resultado sera 5!!
mi_funcion(int x){
x=10;
}

También podría gustarte