Tengo algunos problemas con los siguientes códigos particularmente en header.c donde no puedo acceder a la variable int int x en header.h ... ¿Por qué? ¿La variable externa en .h no es global? ¿Cómo puedo usar esto en otros archivos?C Referencia no definida
header.h === ===
#ifndef HDR_H
#define HDR_H
extern int x;
void function();
#endif
=== === header.c
#include <stdio.h>
#include "header.h"
void function()
{
printf("%d", x); //****undefined reference to x, why?****
}
=== === Ejemplo.c
int main()
{
int x = 1;
function();
printf("\n%d", x);
return 0;
}
posiblemente solo elimine 'int' antes de' x' en su función principal. esto evitaría que se creara una nueva variable local en la función principal con el mismo nombre que la variable global – bph
(eliminada; comentario agregado accidentalmente) –
Consulte también más información sobre la int externa en [http: // stackoverflow.com/preguntas/7610321/diferencia-entre-extern-int-a-extern-int-a-42] [1] [1]: http://stackoverflow.com/questions/7610321/difference -entre-extern-int-a-extern-int-a-42 –