Im работает над двоичным деревом поиска в C atm, работает все отлично, узлы вставлены, найдены, напечатаны и т. Д. НО, значения, которые у них есть, неверны. Каждый узел в моем дереве имеет номер телефона (телефон) и имя (имя). Номера телефонов не являются проблемой, но имена. Например, если у меня есть мой корень с номером 1, и имя должно быть «Майк», оно говорит number = 1 и name = 1Как добавить имя в узел? (Binary Tree, C)
То же самое для каждого другого узла. Number = Имя. Зачем? Я предполагаю, что это имеет какое-то отношение к значению, являющемуся строкой, а не int, не так ли? Важная часть моего кода будет следующей:
void bst_insert_node(bstree* bst, unsigned long phone, char *name) {
bst_node* tmp=bst->root;
bst_node* tmp2;
bst_node* new_node=(bst_node*)malloc(sizeof(bst_node));
new_node->phone=phone;
new_node->name=name; // THIS LINE
new_node->left=new_node->right=NULL;
Что мне нужно изменить? Я попробовал несколько вещей сейчас, но ничего не сработало.
Добро пожаловать в переполнение стека! [Пожалуйста, ознакомьтесь с этим обсуждением, почему бы не использовать возвращаемое значение 'malloc()' и family в 'C'.] (Http://stackoverflow.com/q/605845/2173917). –
Добро пожаловать в переполнение стека! Вы хотите создать [___MCVE___] (http://stackoverflow.com/help/mcve)? –
Thx для связи! Не знал этого. А моего опубликованного кода недостаточно? Что я могу сделать лучше? Я на самом деле думал, что это правильный путь. – ykykyk