Я не могу понять этот результат ...Проблемы с использованием пустого указателя в качестве аргумента функции
Код:
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()
выхода is:
[-1074593956]
Мне действительно нужно key
быть вольным id, как я могу это исправить?
Да, я попробовал '(int *) * key', но не работал, и' * (int *) key' мне никогда не приходило в голову. –