**已更新。对于那些答案不再有意义的人抱歉。C - 丢失指针结构值
所以我想通了,不管我在Data_pair_node后面放了什么,在执行之后,那个东西被重置! WTH? :
int insert(Table *t, const char *key, const char *val){
int dest_bucket_index;
Table *table = t;
Hash_bucket *dest_bucket = NULL;
Data_pair_node *current = NULL, *prev = NULL, *new_item = NULL;
printf("gonna be zero now");
你瞧:
$23 = (Hash_bucket *) 0x834010
(gdb) step
109 printf("gonna be zero now");
(gdb) print table->buckets
$24 = (Hash_bucket *) 0x0
感谢 Aymon福尼尔
值,将其定义为采用指针为const数据:'双average_list_len(常量表*表)'并让编译器帮助您验证函数的工作。 – pmg 2010-10-16 00:35:46
您确定它在调用函数之前不是零*吗?你的链表是否正确? (即,你确认他们不会无意中指向随机位的内存?) – 2010-10-16 00:38:38