проблема с функцией malloc: обнаружена критическая ошибка c0000374 - PullRequest
0 голосов
/ 18 апреля 2019

Я пишу программу о разреженных матрицах со связанным представлением.

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 голосов
/ 18 апреля 2019

Вероятно, относится к 23471161 .Это может помочь опубликовать больше вашего кода вместе с выводом обратной трассировки из вашего любимого программного обеспечения для отладки.

...