Título: Problema de ejecución en C Publicado por: Gerardovf78 en 25 Junio 2015, 15:10 pm Buenas, estoy intentando hacer un programa que cree una lista y que permita introducir un número de teléfono, un nombre y una edad, sin embargo, aunque compile, se crashea nada más ejecutarlo.
El código es el siguiente: Código: #include <stdio.h> Creo que tiene que ver con la igualación de una cadena a un puntero, pero no sé solucionarlo. :huh: Título: Re: Problema de ejecución en C Publicado por: ivancea96 en 25 Junio 2015, 15:18 pm Busca la línea exacta que da el problema colocando pausas al programa.
A todo esto, normaliza la forma de nombrar variables, estructuras y funciones. Poner variables con mayusculas, otras con minusculas y otras con caracteres como 'ñ' puede dar problemas, desde problemas de legibilidad, hasta pequeños problemas al compilar. Título: Re: Problema de ejecución en C Publicado por: Gerardovf78 en 25 Junio 2015, 15:29 pm Código: miembro *CrearMiembro(miembro *Lista, double telefono, int años, char name){ [Error] invalid conversion from 'char' to 'char*' [-fpermissive] Título: Re: Problema de ejecución en C Publicado por: ivancea96 en 25 Junio 2015, 15:50 pm Pero dijiste que lo habías compilado :/
En cualquier caso, name es un char. No tendría que ser un char. En todo caso un char*. Para copiar un char no basta un '='. Debes asignarle memoria con malloc(), y luego copiar caracter a caracter, hasta encontrar un '\0'. Sinó, también puedes usar strcpy(), pero tendrás que utilizarle malloc() antes igualmente. El tamaño a copiar lo puedes obtener con strlen(), que calcula caracteres hasta el '\0'. Tendrás que sumarle 1 al strlen() para añadir el '\0' en la nueva cadena. Y no olvides liberar memoria antes de liberar la estructura. |