typedef
da un nombre adicional a un tipo ya existente. Por ejemplo:
typedef float temperatura;hace que
temperatura
sea un sinónimo de float
, pero no define un nuevo tipo, y por tanto no afecta a las reglas de conversión de tipo. Así, el siguiente código no produciráningún mensaje de error:
main(){ typedef float temperatura; typedef float presion; temperatura t = 23; presion p; p = t; }ya que, aunque hemos declarado
t
y p
como variables de distinto tipo, ambas son en realidad de tipo float
.
El uso más importante de typedef
es a la hora de correr el mismo programa en diferentes máquinas. Por ejemplo, supongamos que estamos utilizando un programa en un ordenador que utiliza valores tipo float
y aritmética entera de 16 bits, y que queremos utilizarlo en una máquina con doble precisión y enteros de 32 bits. Si los enteros se declaran del tipo intNumber
, y los reales del tipo floatNumber
, el cambio de una máquina a otra se reduce a cambiar de:
typedef short int intNumber; typedef float floatNumber;en la máquina pequeña a:
typedef long int intNumber; typedef double floatNumber;y recompilar el programa. Sin el uso de este tipo de declaraciones, habría que cambiar todos los
short int
por long int
, y todos los float
por double
.
Comentarios, sugerencias, ideas...
© Beatriz Fuentes Arenaz, 1996-1997