-2
私は型構造の2次元マップを持っている、と私はUNKNOWN列挙するために、構造体の条件要素を初期化したいです。Cでこのコードの何が問題になっていますか?
コンパイルはOKですが、それは私が解決することはできませんセグメンテーションフォールトを与えます。
#include<stdio.h>
enum myenum {EXPLORED, UNKNOWN,}condition;
struct tile {
int x;
int y;
int condition;
};
struct tile* map[8][8];
void init_map() {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
map[i][j]->condition = UNKNOWN;
}
printf("\n");
}
}
void print_map() {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
printf("%d ", map[i][j]->condition);
}
printf("\n");
}
}
void main() {
init_map();
print_map();
}
任意のヘルプは非常にあなたのプログラムに誤りがmap
が任意のオブジェクトを指すように割り当てられていなかったんポインタの配列であるということである
を使用しますが、実際には何を指すようにポインタ自身を初期化することはありません。将来的には – user2357112
デバッガでプログラムを実行します - '**ポインタへ**いいえあなたはの_2D配列を持っている - あなたは、少なくともそれは強打 – pm100
がどこに行くか見るようになるだろう「私は型構造の2次元マップを持っています」構造体_!それはまさにあなたの問題です! (文の残りの部分で何を意味するか) – Olaf