Re: variables globales.



Le jeudi 23 juin 2005 à 13:07 -0400, Alejandro Valdes J. a écrit :
> Estimados.
> 
> ¿como puedo hacer para dejar de utilizar una variable global?, si tengo
> la siguiente situacion:
> 
> gdouble n_var;
> 
> funcionX(){
> 
> 	n_var = gtk_spin_button_get_value (spin);
> 	
> 	/* evalua cada elemento del modelo */
> 	gtk_tree_model_foreach (model,funcionY,una_estructura);
> }
> 
> funcionY(model,path,iter,una_estructura){
> 	
> 	/* se utiliza la  variable n_var para filtar algunos valores */
> 	....
> 	
> }
> 
> lo podria solucionar obteniendo el valor del spin cada ves en la
> funcionY(), pero no es optimo.

Definela como static.

static gdouble _var;

De esta forma, esa variable sólo existirá dentro del módulo
(archivo.c/.o).  Es lo que se emplea cuando tienes variables que
no quieres que sean gloables, pero quieres que dos o más
funciones la compartan.

De la misma forma, puedes definir funciones como static,
para que existan sólo dentro del módulo.  Que típicamente
se usan para funciones locales y evitar colocarles un
prefijo (como mimodulo_).

-- 
Germán Poó Caamaño
http://www.ubiobio.cl/~gpoo/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]