我想將一個指針傳遞給一個變量。有時它會是一個整數,有時也可能是一個字符。在下面的例子中我的指針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