开发者社区 问答 正文

在C中将二维数组归零的最快方法?

我想将C中的一个大型2d数组重复置零。这是我目前正在做的事情:

// Array of size n * m, where n may not equal m for(j = 0; j < n; j++) { for(i = 0; i < m; i++) {
array[i][j] = 0; } } 我尝试使用memset:

memset(array, 0, sizeof(array)) 但这仅适用于一维阵列。当我打印2D数组的内容时,第一行为零,但是随后我得到了一个随机大数的负载,它崩溃了。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 13:42:33 896 分享 版权
1 条回答
写回答
取消 提交回答
  • memset(array, 0, sizeof(array[0][0]) * m * n); 其中m和n是二维数组的宽度和高度(在您的示例中,您有一个方形的二维数组,因此m == n)。

    2020-02-08 13:42:47
    赞同 展开评论
问答地址: