home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.disi.unige.it
/
2015-02-11.ftp.disi.unige.it.tar
/
ftp.disi.unige.it
/
pub
/
.person
/
CataniaB
/
teach-act
/
esempi
/
Strutture_Union
/
union.c
< prev
Wrap
C/C++ Source or Header
|
1997-04-09
|
743b
|
31 lines
#include <stdio.h>
/* I record con variante si possono implementare in C usando i tipi
* unione (idea: variabili di tipo diverso allocate nello stesso spazio
* di memoria).
*/
typedef union { int x; float y;} Union; /* i.e. intero o float */
/* come per le strutture altri tipi di dichiarazione: */
union IUF {int x; float z;};
union IUF a,b;
union {int s; float r;} c;
main()
{
Union u; /* il tipo valido e' determinato dall'ultima assegnazione! */
u.y=1000.50;
printf("%f",u.y); /* ok u.y e' ben definita */
u.x=4;
printf("%d",u.x); /* ok u.x e' ben definita */
printf("%f",u.y); /* NO!: u.y non e' piu' definita (l'unione ha tipo int dopo
* l'istruzione u.x=4! */
}