私はCに少し慣れていないので、簡単なヘビのリメイクを書こうとしています。ソースはgithubで表示できます:https ://github.com/blackwolf12333/Snake
ビルドするとき、出力に警告やエラーはありません。しかし、実行可能ファイルを実行してEnterキーを押すと、「セグメンテーション違反(コアダンプ)」で終了します。私はまだポインターのプロではありません。私はJavaの出身です。グーグルで検索すると、おそらくポインターの問題であることがわかりました。
私の知る限り、私は正しいことをしているので、どこが間違っているのかわかりません。問題は、ヘビのbody_partをループしようとしたときです。
void print_snake() {
int i;
body_part *next = main_snake.head.next;
move(main_snake.head.pos.x, main_snake.head.pos.y);
addch('$');
for(i = 0; i < main_snake.length; i++) { //TODO: segfaults when 'main_snake.length'(should be this) instead of 'main_snake.length - 1'
printf("1 part");
print_body_part(next);
next = next->next;
}
}
これは、リポジトリ内のsnake.cファイルからのものです。
皆さんが私を助けてくれることを願っています、挨拶blackwolf12333