看不懂这个结果。。。
编码:
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
成为一个空指针,我该如何解决这个问题?