我有一个unsigned int,我使用32位中的每一位来存储特定的信息..
function( void * a);
unsigned int val = 0xFFFFFFFF;
function( (void *) (long) val );
在函数中,我想修改unsigned int ..我无法弄清楚如何在不丢失精度或任何位的情况下取消它。这是一个正确的方法来做到这一点......似乎无法弄明白......
答案 0 :(得分:2)
你应该通过转换为void *来将val的地址传递给函数:
function((void*)&val);
设计你的功能,如:
void function(void* ptr) {
unsigned int *p = (unsigned int*)ptr;
(*p)++; //example of a change
}