0
Этот фрагмент программы должен считывать информацию в структурах, которые хранятся на 2-м пути. Но этот фрагмент программы дает ошибку сегментации после «printf (« lel4 \ n »);». У меня такое ощущение, что это выделено в память, но я не знаю. Я искал ответы в Интернете, и я делаю то же самое, что и ответы, но он не работает.2-строчная структура массива, дающая ошибку сегментации
typedef struct coordinates{
int xposition;
int ypositiony;
char token;
int discovered;
} coordinates
typedef coordinates *coord;
coord **allocMemory(int row, int col){
int i;
coord **city = malloc(sizeof(coord)*col);
assert(city != NULL);
for(i=0; i<col; i++){
city[i] = malloc(sizeof(struct coordinates)*row);
assert(city[i] != NULL);
}
return city;
}
coord **readInfo(int row, int col){
int i, j;
char c;
coord **city = allocMemory(row, col);
for(i=0; i<col;i++){
c = getchar();
for(j = 0; j<ros; j++){
c = getchar();
if(c == '#' || c == '.'){
printf("lel4\n");
(*city)[i][j].xposition = i;
printf("lel5\n");
(*city)[i][j].yposition = j;
(*city)[i][j].token = c;
(*city)[i][j].discovered = 0;
}
}
}
return city;
}
Там нет 2D массива в коде и не конструкция, которая может быть использована в качестве одного. – Olaf
Что такое ** город делает тогда? – LifeisHard
'coord **' -> 'coord *' – BLUEPIXY