У меня есть программа, которая проходит n ^ 2 уровня глубины рекурсии и выделяет кучу памяти для объединения символов вместе.При достаточно большом n процесс просто уничтожается сервером (так как он потребляет слишком много памяти).Как я могу освободить эту память и сохранить мои данные?
Это malloc выглядит как
test = (char *)malloc(sizeof(char) * 256);
Мне нужны эти данные прямо до конца программы.Как я могу справиться с этим?
Вы не можете. Как только вы освободите память, данные исчезнут.
Что вы можете сделать, это лучше использовать имеющуюся память. С кодом, который вы разместили, я не могу придумать, как помочь вам лучше управлять памятью
Не задумываясь об этом, зачем вам все данные в памяти?Несколько вещей, которые вам нужно сделать: