int64 へのポインターを受け取り、値を出力する関数があります。呼び出し元の関数から整数を渡すと、元の値に加えて、int64 であり、整数を渡しているため、余分な 4 バイトが与えられます。int64 を受け入れる関数に整数を渡すと、整数値が出力されるようにするにはどうすればよいですか。
void foo(int64_t * temp) // just mentioning a simplified function
{
printf("%llx\n",*temp);
}
値「0x12345678」の整数を渡そうとすると、foo 関数が出力する値は「xxxxxxxx12345678」になります。ここで、xxx はガベージ値です。
更新:一時int64変数/ポインターを使用してこれを行うことができますが、それを行うことはできません。他の方法はありますか?