Одной из возможных ошибок сегментации в вашем коде является переполнение стека.
Каждая переменная вашей структуры будет иметь размер около 17 КБ, и вы создаете 2562 таких переменных, что означает, что в общей сложности необходимо выделить около 43554 КБ.который 42MB.
Предел максимального размера стека можно проверить, выполнив ulimit -s
из оболочки, если значение стека меньше 43554.
В этом случае вы можете попытаться увеличитьограничение стека, выполнив ulimit -s 43554
или немного больше.