この結果がわかりません...
コード:
void foo(void * key, size_t key_sz) {
HashItem *item = malloc(sizeof(HashItem));
printf("[%d]\n", (int)key);
...
item->key = malloc(key_sz);
memcpy(item->key, key, key_sz);
}
void bar(int num) {
foo(&num, sizeof(int));
}
そして、私はこの呼び出しを行います:bar(900011009);
しかし、printf()
出力は次のとおりです。
[-1074593956]
私は本当にkey
voidポインタである必要があります、どうすればこれを修正できますか?