Используйте malloc (), чтобы получить столько памяти. Вы переполняете стек.
unsigned long *toshuffle = malloc(9765625 * sizeof(unsigned long));
Конечно, когда вы закончите с этим, вам нужно освободить () его.
ПРИМЕЧАНИЕ. В C ++ необходимо привести указатель к правильному типу.