我正在编写一个有关具有链接表示形式的稀疏矩阵的程序。
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;
}