Я пишу программу о разреженных матрицах со связанным представлением.
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;
}