我有一个接受指向 int64 的指针并打印值的函数。现在,如果我从调用函数传递一个整数,它会给出原始值加上额外的 4 个字节,因为它是一个 int64 并且正在传递整数。我该如何处理这个问题,以便如果我将一个整数传递给接受 int64 的函数,仍然会打印一个整数值。
void foo(int64_t * temp) // just mentioning a simplified function
{
printf("%llx\n",*temp);
}
如果我尝试传递一个值为“0x12345678”的整数,那么 foo 函数打印出的值是“xxxxxxxx12345678”,其中 xxx 是垃圾值。
更新:我可以通过使用临时 int64 变量/指针并传递它来做到这一点,但我不这样做或者不能这样做,还有其他方法吗?