0

セグメンテーション違反を特定するのを手伝ってくれる人はいますか? セグメンテーション違反は、私のテスト ケースの 1 つでのみ問題があるようで、構造体内の特定のポインターにメモリを割り当てるときに発生するようです。これは他のすべてのテストケースで機能するため、少し奇妙です。

これが私のコードです:

http://pastebin.com/dfUqQnYy - 453 行目でセグメンテーション違反が発生します。

speeches[i].who = malloc(nb_of_sirs_involved * sizeof(int));

引数として渡される入力の例を次に示します (cat を使用):

http://pastebin.com/YWv1F88G - セグメンテーション違反を引き起こしているもの。

http://pastebin.com/i0V7KNH3 - セグメンテーション違反を引き起こさない他のテスト ケースの 1 つ。

何が悪いのかわかりません。malloc が失敗する原因は何ですか? 割り当てるのに十分なメモリがあると確信しています!

4

1 に答える 1

1

問題が見つかりました。初期化されていないブール変数でした... speeches[i].who とどのように関連するのかわかりませんが、問題は解決しました。皆さんありがとう。

于 2013-06-05T11:24:29.343 に答える