malloc函数出现问题:检测到严重错误c0000374

时间:2019-04-18 19:32:38

标签: sparse-matrix heap-corruption

我正在编写一个有关具有链接表示形式的稀疏矩阵的程序。

temp =(matrixPointer *)malloc(sizeof(matrixPointer));

但是,每当我使用上述的malloc作为临时指针时,它都会检测到错误并停止。如果我的输入少于3个就可以了,但是当我输入3个或更多时就会出错。为什么会这样呢?它只说检测到严重错误c0000374。

这是我的代码的一部分。

for (i = 0; i < numTerms; i++) {
            printf("Enter row, column and value: ");
            scanf("%d%d%d", &row, &col, &value);
            if (row > currentRow) {
                last->right = hdnode[currentRow];
                currentRow = row; last = hdnode[row];
            }
            temp = (matrixPointer*)malloc(sizeof(matrixPointer));
            temp->tag = entry; temp->u.entry.row = row;
            temp->u.entry.col = col;
            temp->u.entry.value = value;
            last->right = temp;
            last = temp;
            hdnode[col]->u.next->down = temp;
            hdnode[col]->u.next = temp;
        }

1 个答案:

答案 0 :(得分:0)

可能与23471161有关。可能有助于发布更多代码,以及您喜欢的调试软件的回溯输出。