[C con Clase] acerca de variables tipo "void"

Steven Davidson srd4121 en njit.edu
Jue Jul 17 20:21:02 CEST 2008


Hola Miguel,

miguel wrote:
> Buenas noches a todos, hace rato no me dirijo a ustedes, sin embargo
> me he mantenido al tanto (en lo que me ha sido posible), leyendo cada
> correo que puedo (omitiendo aquellos que son demasiado avanzados o
> de temas específicos que no llego a comprender)
> 
> Bien, mi pregunta es acerca de un correo que vi hace poco, estaban 
> preguntando acerca del operador "?" y, aunque ya conocía me pareció 
> curioso ver lo que en el curso decían de él, ya que hace muchísimo
> leí el curso y hay muchas cosas que ya no recuerdo :S (he de confesar
> que mi memoria a mediano plazo es pésima), bueno, lo leí y vi que
> decía, entre otras cosas:
> 
> --cito del curso, pag: 
> http://c.conclase.net/curso/index.php?cap=018#OP3_OPCOND
> 
> E2 y E3 han de seguir una de las siguientes reglas:
> 
>     * Ambas de tipo aritmético.
>     * Ambas de estructuras o uniones compatibles.
>     * Ambas de tipo "void".
> 
> pues bien..., como supondrán debido al asunto del mensaje, después de
> todo este bla bla bla, no sé lo que es una variable de tipo void :$.
> Es decir, comprendo que el tipo void es un "no tiene tipo", pero eso
> qué significa, solo lo había visto en momentos de crear una función
> en C que, si no tenía parámetros entonces se seteaba como void, o en
> el clásico ejemplo de una función que no retorna nada, entonces se
> ponía como tipo de retorno el valor "void", por ejemplo, en el main
> se usaba la línea "int main(void)", pero no entiendo el concepto de
> una variable de tipo void.
> 

No existe una variable de tipo 'void'. Lo que sí puede existir para una 
variable es un puntero a 'void', típicamente como parámetro de una función.

En cuanto a la descripción anterior del operador ?:, se acepta 'void' 
pero semánticamente. Por ejemplo, en el caso de 'clearerr()', 'srand()', 
y algunas funciones más:

a > 5 ? clearerr( fichero ) : srand( 1024*a );

Las funciones 'clearerr()' y 'srand()' "retornan" 'void'. Si el operador 
?: no aceptara este "tipo", entonces no podríamos realizar la expresión 
anterior.

> Pdta para administradores: Hace como un año cambié mi dirección de 
> correo electrónico, la tenía con una de hotmail, era 
> "rabindranath84 en hotmail.com <mailto:rabindranath84 en hotmail.com>",
> luego la cambié a esta de gmail "mcubides en gmail.com 
> <mailto:mcubides en gmail.com>", y pues me empezaron a llegar los
> correos a gmail, hasta ahí muy bonito, lo malo es que me siguen
> llegando a hotmail, creo que por bien de rapidez, desocupando un poco
> la base de datos (casos se han visto, quizás un correo marque la
> diferencia entre redireccionar los correos en 1 segundo o hacerlo en
> 10), deberían ayudarme a eliminar la de hot, sin que eso elimine mi
> dirección de gmail. Gracias.
> 

Sugiero consultar la siguiente página acerca de la manera de abandonar 
la lista: http://listas.conclase.net/index.php?gid=2&mnu=FAQ  Observa 
las dos maneras de cambiar tu configuración o abandonar la lista: usando 
la página de opciones o a través del correo-e.


Espero que lo anterior te ayude.

Steven





Más información sobre la lista de distribución Cconclase