[ Foro de C ]
jose@debian:~/listados_ccc$ gcc ma_base.c -o base
ma_base.c: In function ?MuestraLista?:
ma_base.c:30:35: error: ?struct f? has no member named ?span?
printf("Edad: %d\n\n", inicial->span>edad);
^
ma_base.c:30:42: error: ?edad? undeclared (first use in this function)
printf("Edad: %d\n\n", inicial->span>edad);
^
ma_base.c:30:42: note: each undeclared identifier is reported only once for each function it appears in
ma_base.c: In function ?main?:
ma_base.c:37:3: warning: implicit declaration of function ?strcpy? [-Wimplicit-function-declaration]
strcpy(dato1->nombre, "Pepe"); /* Guardamos el nombre, */
^
ma_base.c:37:3: warning: incompatible implicit declaration of built-in function ?strcpy?
ma_base.c:37:3: note: include ?<string.h>? or provide a declaration of ?strcpy?
jose@debian:~/listados_ccc$ ./base
bash: ./base: No existe el fichero o el directorio
jose@debian:~/listados_ccc$
Me da esté errror profesor nacho cabanes.
Y el listado es esté.
/*---------------------------*/
/* Ejemplo en C nº 81: */
/* C081.C */
/* */
/* Primer ejemplo de lista */
/* enlazada simple */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include <stdio.h>
#include <stdlib.h>
struct f { /* Estos son los datos que guardamos: */
char nombre[30]; /* Nombre, hasta 30 letras */
char direccion[50]; /* Direccion, hasta 50 */
int edad; /* Edad, un numero < 255 */
struct f* siguiente; /* Y dirección de la siguiente */
};
struct f *dato1; /* Va a ser un puntero a ficha */
struct f *dato2; /* Otro puntero a ficha */
struct f *dato3; /* Y otro más */
void MuestraLista ( struct f *inicial ) {
if (inicial!=NULL) { /* Si realmente hay lista */
printf("Nombre: %s\n", inicial->nombre);
printf("Dirección: %s\n", inicial->direccion);
printf("Edad: %d\n\n", inicial->span>edad);
MuestraLista ( inicial->siguiente ); /* Y mira el siguiente */
}
}
int main() {
dato1 = (struct f*) malloc (sizeof(struct f)); /* Reservamos memoria */
strcpy(dato1->nombre, "Pepe"); /* Guardamos el nombre, */
strcpy(dato1->direccion, "Su casa"); /* la dirección */
dato1->edad = 40; /* la edad */
dato1->siguiente = NULL; /* y no hay ninguna más */
dato2 = (struct f*) malloc (sizeof(struct f)); /* Reservamos memoria */
strcpy(dato2->nombre, "Juan"); /* Guardamos el nombre, */
strcpy(dato2->direccion, "No lo sé"); /* la dirección */
dato2->edad = 35; /* la edad */
dato2->siguiente = NULL; /* y no hay ninguna más */
dato1->siguiente = dato2; /* Enlazamos anterior con ella */
dato3 = (struct f*) malloc (sizeof(struct f)); /* La tercera */
strcpy(dato3->nombre, "Carlos");
strcpy(dato3->direccion, "Por ahí");
dato3->edad = 14;
dato3->siguiente = dato2; /* enlazamos con la siguiente */
dato1->siguiente = dato3; /* y la anterior con ella */
printf("La lista inicialmente es:\n");
MuestraLista (dato1);
dato1->siguiente = dato2; /* Borrar dato3: Enlaza Dato1 y Dato2 */
free(dato3); /* Libera lo que ocupó Dato3 */
printf("Y tras borrar dato3:\n\n");
MuestraLista (dato1);
return 0;
}
El error es claro:
ma_base.c:30:35: error: ?struct f? has no member named ?span?
printf("Edad: %d\n\n", inicial->span>edad);
Ese "span" no debería aparecer ahí. Supongo que será un problema de formateo y coloreado de sintaxis en la conversión a HTML.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)