Я пишу программу на C, которая использует множество рекурсивных функций.Я также использую динамический список для хранения некоторых данных при повторении.Я реализовал функцию Push для отправки данных в список.
После нескольких вызовов функции push "> 17 000 раз" я получаю следующую ошибку:
Необработанное исключение при 0x77963c47 в Prob - Cap CE.exe: 0xC00000FD: Переполнение стека.
at return HeapAlloc(_crtheap, 0, size ? size : 1);
, который вызывается из stack->listNode = malloc(sizeof(struct Node));
в функции Push.
Я открыл диспетчер задач и обнаружил, что у меня все еще много свободной памяти.Поэтому я полагаю, что это не проблема утечки памяти.
Существуют ли ограничения на то, сколько я могу добавить в список или сколько раз я могу вызывать функцию?