union
{
    void *ptr_value;
    int int_value;
} elem;
64bitマシンへの移植を考えたときにこのようなコードは
やっぱりダメなんですよね?