无法在动态数组中使用固定数组'在struct

时间:2016-01-25 21:11:42

标签: c arrays struct

所以我的结构中有一个动态数组:

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);
    }
}

0 个答案:

没有答案