Segmentation Faultの原因

Segmentation Faultの原因は主に不正なメモリへのアクセスです。
たとえば

int array[10];
array[100] = 1;

なんてことをしてしまうと起きてしまいます。
「こんなことやるわけねぇよ」なんて思っていても
やってしまうものなのです。

Segmentation Faultの起きている場所を調べるには
gdbを使うと簡単です。

まず、コンパイル時にオプション-gをつける。

gdb ./a.out

を実行する。

run

を実行する。

このようにするとエラーを起こしている場合、
どこでエラーが起きているのかがわかります。