これは私のコンウェイのライフゲームCコードです。
関数newgenは、セルがマトリックスの端にある場合でも、隣接するセル(8つすべて)をチェックします。バインドされていないデータへのアクセスや未定義の動作が発生しないように変更するにはどうすればよいですか?
また、私はこのエラーがあります:
1 IntelliSense: a value of type "void *" cannot be assigned to an entity of type "int *"
コードは次のとおりです。
void copy() {
int i, j;
for (i = j = 0; i < HEIGHT; i++) {
for (; j < WIDTH; j++) {
gb2[i][j] = gb[i][j];
}
}
}
void init() {
int i, j;
for (i = 0; i < HEIGHT; i++) {
gb [i] = malloc(sizeof(int)*WIDTH);
gb2[i] = malloc(sizeof(int)*WIDTH);
}
for (i = 0 ; i < HEIGHT; i++) {
for (j = 0 ; j < WIDTH; j++) {
gb [i][j] = 0;
}
}
gb[0][0] = 1;
gb[0][1] = 1;
gb[1][0] = 1;
gb[1][1] = 1;
copy();
}
... int main(){int i; 初期化(); newgen(); printg(); for(i = 0; i <HEIGHT; i ++){free(gb [i]); free(gb2 [i]); }}