[C con Clase] Cuestion sobre las Uniones.

Salvador Pozo salvador en conclase.net
Jue Sep 23 13:56:09 CEST 2010


El pasado 2010-09-23 11:25:32, Alejandro escribió:

Hola:
 
A> Un DWORD me suena del registro de Windows no??

Sí, literalmente significa doble palabra (Double WORD), Windows usa mucho este tipo de datos, y efectivamente aparecen en el registro.

A> Es un poco dificil de entender al principio, ya me va quedando mas claro,
A> por ejemplo, otra utilidad que se le puede dar no seria para mostrar la
A> equivalencia entre un hexadecimal, octal, y decimal??

No veo cómo, puesto que las diferencias entre esos formatos son sólo de representación, y en la unión se almacenan valores, que son independientes del modo en que se visualicen.

A> respecto a la enumeracion, cadena, numero y vector, tendrian los valores 1,2
A> y 3?? y como cambiaria el valor de tipo??

Los valores de los tipos enumerados, si no se establece explícitamente, empiezan en 0, o sea que sería 0, 1 y 2.

A> tipo=3 (vector), o tipo = vector?

Tendrías que usar tipo=vector, o más concretamente, si declaramos un objeto x de tipo "ejemplo2":

    ejemplo2 x;

    x.t = vector;

No hay conversión implícita entre enteros y enumerados. Si intentamos asignar un entero obtendremos este error:

error: invalid conversion from `int' to `tipo'

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


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