**更新。对不起那些答案不再有意义的人。
所以我发现无论我在Data_pair_node之后放什么,在它执行之后,那就是东西被重置的时候!什么?:
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
谢谢艾蒙·福尼耶