这是节点定义:为什么在我自己的实现BST树的不malloc的工作
typedef struct drzewo BST;
struct drzewo {
int key;
BST *left;
BST *right;
BST *p;
};
,我想写添加功能:
BST *add( BST *root, int val)
{
BST *x = root;
BST *nowe =(BST*)malloc(sizeof(BST));
nowe->key = val;
nowe->left=nowe->right=nowe->p=NULL;
...
}
但现在看来,的malloc当root = NULL或其他错误(在windows上写入)时,会导致分段错误。为什么?
错误在'...'中。另外,不要强制使用'malloc()'的结果。也可以使用调试器。 – 2012-01-06 06:55:46
左边,右边可以理解..但是p是什么? – 2012-01-06 06:57:20
好吧,这段代码是正确的,但我试图用printf调试它,fflush并指出malloc,我正在dev-C++下编写。但是,可以将我的大部分代码放入.h文件(坏习惯)的原因是什么? – user1133781 2012-01-06 07:00:10