我想将一个指针传递给一个变量。有时它会是一个整数,有时也可能是一个字符。在下面的例子中我的指针p
传递给CreateObject
但是当我尝试检索变量的值指针指向我得到一个尴尬的结果:c - 传递一个参数为void *变量的函数指针
int i =0;
int *p = malloc(sizeof(int));
*p = i;
ObjectP object = CreateObject(p);
说,我想将它转换回一个int和它显示:
void CreateObject(void *key)
{
printf("%d\n", (int)key);
}
我得到:160637064而不是0我收到的,而不是我以前分配的整数什么和如何检索它,而不是当前值的?
而且,出于好奇,你怎么打算区分元素的传入的大小?另一个参数? – sidyll