段故障,在c中分配给双指针

xx默认xx

关于如何为双指针正确分配内存,我有些困惑。

我的代码第二次尝试在第一个UCHAR指针数组的第二个索引处存储值时导致段错误。

任何援助将不胜感激。

分配我的双指针:

        width = BMP_GetWidth (bmp);
        height = BMP_GetHeight (bmp);
        depth = BMP_GetDepth (bmp);

        r = (UCHAR **) malloc(sizeof(UCHAR *) * height);
        g = (UCHAR **) malloc(sizeof(UCHAR *) * height);
        b = (UCHAR **) malloc(sizeof(UCHAR *) * height);

        init_rgb(bmp, width, height, r, g, b);

尝试利用指针(x = 1失败):

void init_rgb(BMP *bmp, UINT w, UINT h, UCHAR **r, UCHAR **g, UCHAR **b) {
        printf("%ld, %ld\n", w, h);
        UINT x, y;
        for (y = 0; y < h; y++) {
            r[y] = (UCHAR *)malloc(sizeof(UCHAR) * w);
            for (x = 0; x < w; x++) {
                BMP_GetPixelRGB(bmp, x, y, &r[y][x], &g[y][x], &b[y][x]);
                printf("FAILING After First Iteration\n");
            }
        }
    }
安迪·施威格(Andy Schweig)

看起来你需要一条线像

r[y] = (UCHAR *)malloc(sizeof(UCHAR) * w);

gb也。如果你不这样做,g[y]并且b[y]是不确定的。当您引用这些代码时,您的代码可能会失败。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

段故障,在c中分配给双指针

来自分类Dev

在 C 中,如果将双指针分配给值,为什么指针变量为 0?

来自分类Dev

分配给不兼容的指针类型双指针

来自分类Dev

使用双指针将值分配给struct的成员

来自分类Dev

使用双指针将值分配给struct的成员

来自分类Dev

分配给C中的字符串的索引解引用指针时出现段错误

来自分类Dev

C ++数组地址分配给指针

来自分类Dev

C ++数组地址分配给指针

来自分类Dev

在C / C ++中分配给int [] [4]

来自分类Dev

在Visual C ++ 2013中分配给const引用

来自分类Dev

将新值传递并分配给指针C ++

来自分类Dev

c将函数指针分配给变量

来自分类Dev

C动态内存分配给void指针

来自分类Dev

C ++删除分配给新的字符指针

来自分类Dev

如何在C中将argv分配给指针变量?

来自分类Dev

C ++:将值分配给字符指针

来自分类Dev

无法将内存分配给c中的指针

来自分类Dev

C ++将指针数组分配给struct

来自分类Dev

C ++ Arduino:将函数分配给函数指针

来自分类Dev

通过指针分配给指针参数

来自分类Dev

在构造函数中分配给* this

来自分类Dev

在F#中分配给Nullable

来自分类Dev

错误:无法在“自身”中分配给“ ...”

来自分类Dev

在结构中分配给结构的语法

来自分类Dev

在Julia中分配给多维数组

来自分类Dev

无法在Python中分配给文字

来自分类Dev

在构造函数中分配给* this

来自分类Dev

在bash脚本中分配给变量

来自分类Dev

将内存分配给指针数组时出现段错误