Since floats have burned me (I can't inspect them using printf), I'm trying var's. Whoa... var also has surprising behavior in memory.
function main() {
var x = 23.69341827522281818119;
int y = 8;
var *xp = &x;
printf("\n%08x %08x %08x %08x", *(xp), *(xp+1), *(xp+2), *(xp+3));
printf("\n%f", *(xp));
}
e0000000 4037b183 01a6e81c 00000008
23.693419
The 00000008 is where int y landed. I conclude that var is 12 bytes in memory. That's really odd.
In any case, R does not let me dump a 12 byte numeric on this machine.
Error in writeBin(pc$center, binout, size = 12) :
size 12 is unknown on this machine