summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/SNIP/cast.h
blob: 49f76681b86701b5522fc101347f88048ea73960 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
**  public domain demo by Bob Stout
*/

#define CAST(new_type,old_object) (*((new_type *)&old_object))
 
#if 0
*************************************************************************
*                                                                       *
*       /* Example of CAST macro at work        */                      *
*                                                                       *
*       union {                                                         *
*               char    ch[4];                                          *
*               int     i[2];                                           *
*       } my_union;                                                     *
*                                                                       *
*       long    longvar;                                                *
*                                                                       *
*               longvar = (long)my_union;       /* Illegal cast */      *
*               longvar = CAST(long, my_union); /* Legal cast   */      *
*                                                                       *
*************************************************************************
#endif  /* 0 */