blob: 098b860aeb354a25ec6850ad0b5fc68fb9f2d2a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <stdio.h>
#define ptr2int(p) ((int)(p))
#define int2ptr(i) ((void*)(i))
#define ptr2float(p) (*((float*)(&(p))))
#define int2float(i) (*((float*)(&(i))))
#define float2int(f) (*((int*)(&(f))))
#define float2ptr(f) (*((void**)(&(f))))
int main(void) {
float f = 42.24;
int fi;
void *fp;
float fif, fpf;
printf("f=%f\n", f);
fi = float2int(f);
printf("->fi=%d\n", fi);
fif = int2float(fi);
printf("-->fif=%f\n", fif);
fp = float2ptr(f);
printf("->fp=%p\n", fp);
fpf=ptr2float(fp);
printf("-->fpf=%f\n", fpf);
return 0;
}
|