所以我的结构中有一个动态数组:
struct Pixel {
int r;
int g;
int b;
} Pixel;
struct Image {
struct Pixel **rgb;
} Image;
现在当我开始使用它时,我创建了一个固定数组(我知道在到达图像中的像素之前的宽度和高度)。这是我创建固定数组的代码:
struct Pixel rgbArray[HEIGHT][WIDTH];
但是当我将struct中的数组设置为这个新数组时:
myStruct->rgb = rgbArray;
警告:从不兼容的指针类型[默认启用]
进行分配
因为当我运行它来打印数组中的值时,我的程序崩溃了:
int x, y;
for(y = 0; y < HEIGHT; y++) {
for(x = 0; x < WIDTH; x++) {
struct Pixel newPixel = myStruct->rgb[y][x];
printf("%d %d %d\n", newPixel.r, newPixel.g, newPixel.b);
}
}