質問: c言語のプログラムが実行できません。 c言語のプログラムが実行できません。 コンパイルは出来るんですが、実行すると、「segmentation fault」と表示されてしまいます。 これは何のエラーなんでしょうか? 基本的な事かもしれませんが、分かる方宜しくお願い致します。
回答: エラーの内容としては、 確保された安全な領域以外を参照したことによるエラーと捉えても良いと思います。 例えば、配列の添え字を間違えて確保されていない部分を参照したり、ポインタの演算を間違えてまったく関係ないところを参照したりしたときにも発生します。 原因を特定するとして、 仮に、windows上のvisualc++などでデバッグモードで実行している場合などであれば、segmentation faultが発生しているところで停止したりするので原因の特定が楽なのですが、 それ以外の環境で調査するとしたら、#1さんが書かれているように、ところどころにprintf等を入れて、変数の内容を出力させるなどして動作確認するしかないでしょう。 上記発生原因の例を参考に、配列の添え字や、ポインタ操作の度に内容確認されてはいかがでしょうか?