私は次のように定義された構造体「セル」を持っています
typedef struct{
int id;
terrainType terrain;
} cell;
次に、セルの2次元配列を作成します
cell** makeCellGrid(int sizeX, int sizeY)
{
cell** theArray;
int i;
theArray = (cell**) malloc(sizeX*sizeof(cell*));
for ( i = 0; i < sizeX; i++)
{
theArray[i] = (cell*) malloc(sizeY*sizeof(cell));
}
return theArray;
}
最初はこれで問題なく動作していると思っていましたが、いくつかのセグ フォールトの後、いくつかの値 (makeCellGrid(32, 87) など) で壊れることを発見しました。私はCポインターとメモリジャンクでかなり新鮮で、誰かが私をここで正しい方向に向けることができることを望んでいました.
より低い数の境界で、アクセスに問題はありませんでした
map[i][j].id = x;
等々
編集:テストから、セグメント障害の発生元を追加するのを忘れました
theArray[i] = (cell*) malloc(sizeY*sizeof(cell));