【发布时间】:2011-02-05 01:29:59
【问题描述】:
我无法理解这个结果...
代码:
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 是一个空指针,我该如何解决这个问题?
【问题讨论】:
标签: c function pointers argument-passing void-pointers