<分区>
int _add_item( char * _key, void * _value, int item, dict *_dic ){
printf("%lu", sizeof(_dic->key));
printf(" + %lu\n", sizeof(_key));
printf("%lu\n", (sizeof(_dic->key) + sizeof (_key)) );
_dic->key = (char **) realloc (_dic->key, (sizeof _dic->key) + (sizeof _key));
_dic->value = (void **) realloc (_dic->value, (sizeof _dic->value)+ (sizeof _value));
printf("%lu\n", sizeof(_dic->key) );
getchar();
_dic->key[item] = _key;
_dic->value[item] = _value;
puts(_dic->key[item]);
printf("%i\n", get_dic_len(* _dic) );
getchar();
return 1;
}
输出:
8 + 8
16
8
realloc 不是重新分配内存,它是 8 个字节,我试图重新分配到 16 个字节,但它仍然是 8 个字节