Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[C] conservar variables globales entre 2 archivos

Estas en el tema de [C] conservar variables globales entre 2 archivos en el foro de C/C++ en Foros del Web. tengo 2 archivos, uno donde tengo definidas las funciones y variables globales q necesito ocupar, son globales porque el programa está pensado para ser exportado ...
  #1 (permalink)  
Antiguo 26/03/2006, 21:17
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 22 años, 2 meses
Puntos: 4
[C] conservar variables globales entre 2 archivos

tengo 2 archivos, uno donde tengo definidas las funciones y variables globales q necesito ocupar, son globales porque el programa está pensado para ser exportado a cualkier tipo de interface (consola, ventana, web cgi, blablabla)

el problema es que no tengo acceso a las variables globales desde el programa por consola que incluye al archivo del nucleo

para q se entienda mejor, tengo q hacer el juego del gato en C (el tictactoe) y kero tener tanto el tablero como las estadisticas del juego en variables q sean globales (para que puedan ser accedidas desde cualkier parte).
las definiciones las tengo en gato_nucleo.c y la interface en gato_consola.c

pero desde gato_consola.c no puedo ver el tablero.

¿como se hace para acceder a variables globales entre archivos?
  #2 (permalink)  
Antiguo 26/03/2006, 21:35
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 1 mes
Puntos: 52
Definelas en consola como extern.

extern int variable;

Saludos
  #3 (permalink)  
Antiguo 27/03/2006, 07:03
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 8 meses
Puntos: 17
Si quieres organizarte bien, crea un "globales.h", con este contenido:

extern int tal;

y agregas #include globales.h en los .c que quieras que vean la variable.

Eso sí, debes escribir

int tal;

en 1 (y sólo en 1, no más) .c que vayan a usar esa variable.


En cualquier caso, mi consejo es que no uses variables globales, sino que pases los datos adecuadamente entre funciones.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:28.