C/Visual C - Problemas con un ejemplo

 
Vista:

Problemas con un ejemplo

Publicado por quantium (22 intervenciones) el 14/11/2002 21:51:41
Hola a todos.
Tengo una pequeña con el codigo de ejemplo de un libro, el codigo es el siguiente:

#include <stdio.h>

extern *sys_errlist[];
extern int sys_nerr;

int main(void)
{
int i;
for(i=0; i<sys_nerr; i++)
printf("%d: %s\n",i ,sys_errlist[i]);

return 0;
}

El error esta en "extern *sys_errlist[];". Si quitamos esta linea el programa compila perfectamente, pero me parece raro que en el primer ejemplo que viene en el libro (UNIX. programacion avanzada - rama) venga con un error. ¿alguien sabe el motivo de por que no me compila con esta linea? Otra duda: ¿para que sirve el modificador extern? ¿para que se usa en este ejemplo?

Muchas gracias a todos y un saludo.
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:Problemas con un ejemplo

Publicado por Googol (255 intervenciones) el 15/11/2002 00:48:51
El extern indica al compilador que la variable sys_errlist no está "definida" en ese fichero .c. Es decir que el espacio para ella NO se reserva en ese fichero de código, sino que estará en algún otro fichero .c o en alguna otra librería.
Sirve por lo tanto para asegurarle al compilador que cuando compile y enlace el programa, habrá algo que se llamará sys_errlist, pero que no tiene que reservar espacio para ella en el fichero actual.

Suerte
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