Hallo;
wieso stürzt mein Programm bei folgender einfacher Zeigeroperation ab?
Es geht darum, ein int-array durchzumischen.
Dazu habe ich die Funktion Swap geschrieben, die ist aber hier nicht wichtig weil das Prog schon vorher abstürzt:
Code:
void GenerateRandomArray(int *array[],int laenge)
// array = zeiger auf ein array
// laenge = wie viele zeichen des arrays zufällig vertauscht werden sollen
{
int i;
srand(GetTickCount());
// Zuerst alle Zahlen der Reihe nach reinspeichern:
for (i=0; i<laenge; i++)
*array[i]=i; // Bei diesem Befehl stürzt das Prog ab
// und jetzt zufällig vertauschen:
for (i=0; i<laenge; i++) Swap(&array[i],&array[rand()%laenge]);
}
und testweise rufe ich diese Funktion auf:
Code:
int ar[]={1,2,3,4};
GenerateRandomArray(ar,4);
doch das hat nicht funktioniert.
Ich habe es auch so probiert:
Code:
GenerateRandomArray(&ar,4);
was natürlich falsch ist, und so:
Code:
GenerateRandomArray(&ar[0],4);
aber keine Variante funktioniert.
Wo ist der Fehler?