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

Variables globales C

Estas en el tema de Variables globales C en el foro de C/C++ en Foros del Web. Hola, estoy haciendo un programa con dos archivos .c y un fichero de cabecera .h. Mi problema es que en el archivo1.c uso una variable ...
  #1 (permalink)  
Antiguo 08/12/2008, 11:40
rcr
 
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Variables globales C

Hola, estoy haciendo un programa con dos archivos .c y un fichero de cabecera .h. Mi problema es que en el archivo1.c uso una variable "int alta", que despues me interesaría usar tb en archivo2.c ya que necesito comprobar su valor, previamente modificado en archivo1.c.
Trate de usar extern pero me da un error al compilar "Unresolved alta ..."

Como podría hacerlo ??? Y si uso punteros, como sería ??
Gracias
  #2 (permalink)  
Antiguo 08/12/2008, 12:47
 
Fecha de Ingreso: febrero-2006
Mensajes: 49
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: Variables globales C

Buenasss

Esta bien que uses extern. Pero en uno de los archivos tendrias que declarar la variable global y usar extern en los otros archivos que la necesiten. Ejemplo

Código HTML:
// Archivo1.c
int a;

int main (void)
{
	a = 1;
	f();
	return 0;
}
Código HTML:
// Archivo2.c
#include <stdio.h>

extern int a;

void f (void)
{
	printf("%d\n", a);
}
Cuando compiles eso va a imprimir un 1.
Se entiendo el funcionamiento?
Saludos
  #3 (permalink)  
Antiguo 10/12/2008, 12:58
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 16 años
Puntos: 3
Respuesta: Variables globales C

yo tenia la misma duda , pero la resolvi por mi mismo viendo una multitud de ejemplos hasta que lo descubri
hace unos dias me hubiera servido de mucho


/*Entre los ejemplos que vi habia uno (no era c++ sino que c) que no usaba la palabra extern, simplemente lo declaraba en una archivo llamado vars.h donde tenia todas las variables globales. yo solo ocupo c++ pero pienso que en c tal vez si se pueda declarar asi no mas. Me quede metido en eso, si alguien sabe por que me lo dice*/
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 17:03.