У меня проблемы с заполнением двумерного массива структуры внутри структуры. Это позволяет мне делать это для пикселей [0][1], пикселей[0][2]... и т. д. Однако, как только я увеличиваю первый индекс, то есть пиксели [1] [1], я получаю ошибку шины 10. Буду признателен за любую помощь. Я вырезал часть кода, чтобы сделать его более читабельным, но если вам нужен весь код, дайте мне знать! Что делает программа, так это читает изображение PPM и отображает информацию, проблема, с которой я сталкиваюсь, - это сохранение пикселей изображения.
#define MAX_HEIGHT 4
#define MAX_WIDTH 4
typedef struct Pixel{
int red;
int green;
int blue;
}Pixel;
typedef struct PPM{
char code[2];
int width, height;
int max;
Pixel * pixels[MAX_HEIGHT][MAX_WIDTH];
}PPM;
struct PPM * getPPM(FILE * fd){
PPM * image = NULL;
image = malloc(sizeof(PPM));
//have got all the other PPM info here ask if needed
int i;
int j;
for(i = 0; i<MAX_HEIGHT-1; i++){
for(j = 0; j<MAX_WIDTH-1; j++){
// struct Pixel newPPM_Pixel;
if(fscanf(fd, "%d %d %d", &image->pixels[i][j]->red, &image->pixels[i][j]->green, &image->pixels[i][j]->blue) == 3){
//rgb_array[i][j] = newPPM_Pixel;
printf("/ %d / %d / %d", image->pixels[i][j]->red, image->pixels[i][j]->green, image->pixels[i][j]->blue);
}
}
}
return image;
}
Pixel * pixels[MAX_HEIGHT][MAX_WIDTH];
--›Pixel pixels[MAX_HEIGHT][MAX_WIDTH];
или выделить его перед использованием. - person BLUEPIXY   schedule 13.02.2017