バイナリヒープをツリーとして実装しました。ツリーノードは次のようになっています。ノードの構築中にメモリ割り当てが失敗する
struct tree_node {
char* p_word;
int count;
struct tree_node* parent;
struct tree_node* p_left;
struct tree_node* p_right;
};
すべてがchar *メンバーになるまでは完全に動作します。私はp_wordのメモリ空間を割り当てようとすると、実行時に 'Segmentation Fault'が発生します。
currはツリーに追加されるノードを表し、ルートはツリーのルートノードを表します。
どのようにメモリリークを引き起こすことなくこの問題を解決できますか?
実際には、** tok **は正しいですし、** strlen(tok)**は常に_non-null terminated_ tokの長さを返します。割り当てのために別の方法を試しましたが、代わりにパラメータとして255を入れてください。割り当てのために使用されていませんが、問題は引き続き発生します。 –