int i;
float f = *(float*)&i;
I'm not saying you should do this, but you can.Or to use an example the author didn't regret:
struct foo {
int a;
int b;
int c;
}__attribute__((packed));
void print(foo* f) {
int *p = f;
int i;
for (i=0; i<sizeof(foo)/sizeof(int); i++) {
printf("%d,",p[i]);
}
}