の私自身の実装ではmallocの仕事はこれがノード定義ではありません。はなぜBSTツリー
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の場合、または他のエラー(ウィンドウでの書き込み)のときにセグメント化エラーが発生しています。どうしてこんなことに?
エラーは '...'にあります。また、 'malloc()'の結果をキャストしないでください。また、デバッガを使用してください。 –
左、右理解可能ですが、pは何ですか? –
OK、このコードは正しいですが、printf、fflushでデバッグしようとしましたが、mallocを指しています。私はdev-C++の下に書いています。しかし、私が大部分の.hファイル内にコードを置く理由があります(悪い習慣)? – user1133781