我在這兩種結構:傳遞一個新節點的指針結構內
typedef struct node {
int info;
struct node *left, *right;
}NODE;
typedef struct bst {
NODE *root;
}BST;
而這些功能:
NODE *newNode(int info) {
NODE *tmp = (NODE *)malloc(sizeof(NODE));
tmp->left = tmp->right = NULL;
tmp->info = info;
return tmp;
}
void addTree(BST **bst, int info) {
if (*bst == NULL) {
(*bst)->root = newNode(info); // <- Breaks the program
return;
}
else while ((*bst)->root != NULL) {
if (info < (*bst)->root->info)
(*bst)->root = (*bst)->root->left;
if (info >(*bst)->root->info)
(*bst)->root = (*bst)->root->right;
}
(*bst)->root->info = info; // <- Breaks the program
}
我想不出有什麼我已經做錯了。 我打電話這樣的功能的主要功能:
addTree(&binST, tmp);
我用調試器,它給了我不是一個單一的錯誤或警告。 任何幫助,將不勝感激。
' - >'也是一個解引用運算符,並且不能解引用NULL。 – jxh