C/C++のコードを書いてよく遭遇するのがSegmentation Fault、通称セグフォ。その傾向と対策をまとめてみた。 傾向 セグフォがよく起こるのは以下のとき。 メモリ違反 見てはいけないメモリ領域を参照したときに起こる。コード例は以下。 #include <stdio.h> int main(){ int array[10]; int i; for(i = 0; i < 20; ++i){ array[i] = i; } return 0; } 無限再帰 または 再帰が深すぎる 関数の無限再帰から抜け出せない時にもセグフォが起こる。コード例は以下。 #include <stdio.h> void loop(){ loop(); } int main(){ loop(); return 0; } また、理論上はどこかで再帰が終わるはずであっても、あまりに再帰が深すぎる場合も、やはり