Я новичок в программировании и удивляюсь, почему у меня возникает ошибка сегментации, когда я объявляю массив символов в стеке, а не когда я делаю это в куче. это потерпит неудачу.
Ниже приводится ошибка сегментации в memset
char space[(2*len + 1) * cnt];
memset(space, 0, (2*len + 1) * cnt);
ниже работает нормально
char *space = (char *)malloc((2*len + 1) * cnt);
memset(space, 0, (2*len + 1) * cnt);
В моем случае len = 999 и cnt = 9999. Я предполагаю, что большое выделение памяти может быть причиной, вызванной возможной фрагментацией стека?