Hola, ¿como les va?
estoy haciendo un programa para copiar una lista simplemente enlazada y imprimirla, la cuestion es que me tira 2 errores que deben ser sencillos, pero no logro resolverlos..
Agradeceria mucho su ayuda.
estoy haciendo un programa para copiar una lista simplemente enlazada y imprimirla, la cuestion es que me tira 2 errores que deben ser sencillos, pero no logro resolverlos..
Agradeceria mucho su ayuda.
Citar
listas.c|62|error: expected '=', ',', ';', 'asm' or '__attribute__' before 's_copy'|
listas.c||In function 'main':|
listas.c|105|warning: assignment makes pointer from integer without a cast|
||=== Build finished: 1 errors, 1 warnings ===|
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
struct registro
{
int valor;
struct registro *sig;
};
typedef struct registro _nodo;
_nodo *crearlista(_nodo *apuntador)
{
return (apuntador=NULL);
}
_nodo *insertarEnLista(int numero, _nodo *apuntador )
{
_nodo *registroNuevo, *apuntadorAuxiliar;
registroNuevo = (_nodo*)/*casteo*/ malloc(sizeof(_nodo));
if(registroNuevo!=NULL)
{/*lleno el nuevo nodo suelto*/
registroNuevo->valor=numero;
registroNuevo->sig=NULL;
if(apuntador==NULL)
apuntador=registroNuevo;
else
{
apuntadorAuxiliar = apuntador;
while(apuntadorAuxiliar->sig != NULL)
apuntadorAuxiliar = apuntadorAuxiliar->sig;
apuntadorAuxiliar->sig = registroNuevo;
}
}
return apuntador;
}
void imprimirLista(_nodo *apuntador)
{
_nodo *apuntadorAuxiliar;
apuntadorAuxiliar=apuntador;
printf("Contenido de la lista: inicioLista->");
while(apuntadorAuxiliar != NULL)
{
printf("%d -> ", apuntadorAuxiliar->valor);
apuntadorAuxiliar = apuntadorAuxiliar->sig;
}
printf("NULL\n");
return;
}
_nodo *apuntador2 s_copy(_nodo *apuntador)
{
_nodo *registroAuxiliar, _nodo *apuntador2 , *apuntadorAuxiliar , *apuntadorAuxiliar2;
apuntador2*=crearlista(*apuntador2);
if(apuntador==NULL)
printf("la lista que copio estaba vacia");
apuntador2=apuntador;
else
{
apuntadorAuxiliar = apuntador;
apuntadorAuxiliar2 = apuntador2;
while(apuntadorAuxiliar->sig != NULL)
{
*apuntadorAuxiliar2=*apuntadorAuxiliar;
apuntadorAuxiliar2=apuntadorAuxiliar2->sig;
apuntadorAuxiliar = apuntadorAuxiliar->sig;
}
}
return apuntador2;
}
int main()
{
_nodo *inicioLista;
_nodo *inicioLista2;
inicioLista=crearlista(inicioLista);
inicioLista2=crearlista(inicioLista2);
inicioLista = insertarEnLista(5, inicioLista);
inicioLista = insertarEnLista(6, inicioLista);
inicioLista = insertarEnLista(7, inicioLista);
inicioLista = insertarEnLista(8, inicioLista);
inicioLista = insertarEnLista(9, inicioLista);
inicioLista2 = s_copy(inicioLista);
imprimirLista(inicioLista2);
return EXIT_SUCCESS;
}