0

コードを borland c 3.1 で実行すると正常に動作しますが、c-free で実行すると次の行でクラッシュします: while(ptr1->pright) { ptr1=ptr1->pright; } SIGSEGV を指定すると、論理的な理由はありますか?

4

2 に答える 2

1

おそらく、配列の境界外または割り当てていないメモリにアクセスしています。そのため、未定義の動作をトリガーしたため、クラッシュしたり、明らかに正常に動作したりするなど、ほとんどすべてが発生する可能性があります。

于 2012-12-01T12:22:28.167 に答える
0

リンク リストのノードを作成/初期化するときは、ノードのメンバーprightをに明示的に初期化するようにしてくださいNULL

于 2012-12-02T11:25:26.123 に答える