Ошибка сегментации с большим размером массива. Почему?
struct person { char name[100]; int freq ; } ;
Я создаю массив структуры person и использую этот массив в качестве хэш-таблицы.
int capacity; struct person table[capacity] ;
Я вставляю имя строки, читая csv-файл, который имеет имя в каждой своей строке.
Когда я принимаю емкость таблицы около 50000 или более, возникает ошибка сегментации.
Когда я беру небольшую емкость, как 5000, все работает нормально.
Что делать, если в моем файле есть около 60000 различных имен, как я буду хранить их сейчас ?
Я не понимаю, почему это происходит? Может быть, это из-за моей хэш-функции?
Я использую линейное зондирование для поиска хэш-значения.
Я в замешательстве. Пожалуйста помочь.
Что я уже пробовал:
Я сделал код в IDE Netbeans.
CPallini
Вы должны использовать отладчик, чтобы узнать нарушающий код. И, возможно, сообщить об этом здесь.