C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。
Q&A
解決済
1回答
496閲覧
総合スコア1
0グッド
0クリップ
投稿2023/06/09 16:13
0
大学の授業の課題で、C言語でプログラミングをしています。 画像のプログラムを実行すると Segmentation Fault になりました。 32行目のfree関数の部分をコメントアウトしたら正常に動作するのですが、原因が分かりません。
解消法が分かる方教えていただけると非常にありがたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2023/06/09 21:33
2023/06/10 02:33
回答1件
ベストアンサー
for 文は n+1回ループする(させている?)ので、ans の領域をオーバーフローします。 その状態で malloc/free が実行された結果、メモリ管理に矛盾が起きて free で異常を検出した可能性があります。 ここはオーバーフローしないようにするべきです。
また、ここに書かれていないコードで、同様に確保していない領域を壊していてこの現象となった可能性もあります。 オーバーフローしていないかコード全体を見直すとよいでしょう。
投稿2023/06/09 21:16
総合スコア900
回答へのコメント
2023/06/10 02:34
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
[C言語] Segmentation Fault の解消