如何将2d数组复制到临时2d数组中并返回它?

花生

我正在尝试将一个2维整数数组复制到一个临时2维整数数组并将其返回。我在下面进行了介绍,但是遇到了一个非常可疑的malloc错误。我尝试用valgrind检查它,但找不到有用的东西

int **get_grid_state(int **grid, int height, int length) {
    int **grid_state;
    int i;

    grid_state = malloc(height * sizeof(int*));

    for (i = 0; i < height; i++) {
        grid_state[i] = malloc(length);
        memcpy(grid_state[i], grid[i], length);
    }
    return grid_state;
}

解除稳定错误消息如下:

program: malloc.c:2372: sysmalloc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 *(sizeof(size_t))) - 1)) & ~((2 *(sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long) old_end & pagemask) == 0)' failed.
Aborted
chqrlie

您的方法是正确的,除了length内部循环中的大小:它应该length * sizeof(int)sizeof(**grid)

        grid_state[i] = malloc(length * sizeof(**grid));
        memcpy(grid_state[i], grid[i], length * sizeof(**grid));

对于原因令人不安的错误是子阵列分配太小,你可能修改它们在程序的其它部分,导致的一些腐败现象malloc,在以后的某个呼叫被检测到的分配功能的一个内部数据:malloc()free()calloc()realloc()...

还要注意,您不检查这些malloc()调用的返回值如果由于某种原因malloc无法分配内存,则将调用未定义的行为,而不是NULL优雅地返回

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将两个2d numpy数组复制到预分配的数组

来自分类Dev

如何将2D数组设置为2D返回

来自分类Dev

如何将一个2d数组的内容复制到另一个?(VBA)

来自分类Dev

将字符串复制到2D字符串数组中

来自分类Dev

如何将值分配到2D向量(如2D数组)中

来自分类Dev

将2D数组复制到3D数组-Python / NumPy

来自分类Dev

将2D数组复制到函数外部的动态分配2D数组

来自分类Dev

将2d字符数组复制到另一个2d字符数组

来自分类Dev

如何使用C ++将2D矩阵的元素垂直复制到1D数组

来自分类Dev

如何将值与2D数组进行比较?

来自分类Dev

将2D数组传输到文件中并返回

来自分类Dev

如何在熊猫2D数据框中复制Numpy 2D数组

来自分类Dev

将VBA 2D数组的给定列复制到工作表列

来自分类Dev

如何将值分配给2D向量(如2D数组)

来自分类Dev

将单词从c字符串复制到c字符串的2D数组中

来自分类Dev

将每个字符串从2D数组复制到1D数组

来自分类Dev

如何将2d数组的内容保存到文件中

来自分类Dev

如何将PHP中的2D数组旋转90度

来自分类Dev

如何将2D数组乘以c中的数字

来自分类Dev

如何将数据从用户输入到2D数组中,并输出到用户C ++

来自分类Dev

如何将2d numpy数组保存到文本文件中

来自分类Dev

如何将字符串中的值分配给2d数组?

来自分类Dev

如何将csv文件读取到Python 2d数组中?

来自分类Dev

如何将值存储在2D数组中以备后用?

来自分类Dev

如何将CSV文件转换为.js文件中的2d数组?

来自分类Dev

如何将2D数组中的每个布尔值更改为相反的值?

来自分类Dev

尝试将数组从stdin复制到2d数组时,为什么会出现分段错误?

来自分类Dev

将2d数组复制到另一个数组时出错

来自分类Dev

如何将2D数组拆分为可变大小的较小2D数组?

Related 相关文章

  1. 1

    如何将两个2d numpy数组复制到预分配的数组

  2. 2

    如何将2D数组设置为2D返回

  3. 3

    如何将一个2d数组的内容复制到另一个?(VBA)

  4. 4

    将字符串复制到2D字符串数组中

  5. 5

    如何将值分配到2D向量(如2D数组)中

  6. 6

    将2D数组复制到3D数组-Python / NumPy

  7. 7

    将2D数组复制到函数外部的动态分配2D数组

  8. 8

    将2d字符数组复制到另一个2d字符数组

  9. 9

    如何使用C ++将2D矩阵的元素垂直复制到1D数组

  10. 10

    如何将值与2D数组进行比较?

  11. 11

    将2D数组传输到文件中并返回

  12. 12

    如何在熊猫2D数据框中复制Numpy 2D数组

  13. 13

    将VBA 2D数组的给定列复制到工作表列

  14. 14

    如何将值分配给2D向量(如2D数组)

  15. 15

    将单词从c字符串复制到c字符串的2D数组中

  16. 16

    将每个字符串从2D数组复制到1D数组

  17. 17

    如何将2d数组的内容保存到文件中

  18. 18

    如何将PHP中的2D数组旋转90度

  19. 19

    如何将2D数组乘以c中的数字

  20. 20

    如何将数据从用户输入到2D数组中,并输出到用户C ++

  21. 21

    如何将2d numpy数组保存到文本文件中

  22. 22

    如何将字符串中的值分配给2d数组?

  23. 23

    如何将csv文件读取到Python 2d数组中?

  24. 24

    如何将值存储在2D数组中以备后用?

  25. 25

    如何将CSV文件转换为.js文件中的2d数组?

  26. 26

    如何将2D数组中的每个布尔值更改为相反的值?

  27. 27

    尝试将数组从stdin复制到2d数组时,为什么会出现分段错误?

  28. 28

    将2d数组复制到另一个数组时出错

  29. 29

    如何将2D数组拆分为可变大小的较小2D数组?

热门标签

归档