Frage von Onionlover, 58

Warum stürzt das Programm, für malloc(5*sizeof(int)) immer ab?

Das wäre jetzt der Code für eine zweidimensionale Matrix. Sobald zeile oder spalte einen Wert größer 4 annehmen stürzt das Programm, bei ausgeben der Matrix, ab(ich glaube aber der Fehler liegt in dieser Funktion, wenn nicht kann ich den Rest auch noch posten). Für kleinere Werte funktioniert aber alles einwandfrei.

int ** structm(int **matrix, int zeile, int spalte){

int i;
matrix=malloc(zeile*sizeof(int));
if(matrix==NULL){
printf("kein Speicherplatz vorhanden"); nl
return 0;
}   

for(i=0; i<zeile; i++){
    matrix[i]=malloc(spalte*sizeof(int));
    if(matrix[i]==NULL){
printf("kein Speicherplatz vorhanden"); nl
return 0;           
    }
}
return matrix;

}

Leider gehen ein paar " * " flöten bzw der Text dazwischen wird kursiv. Auch das "<" wird zu &lt. Woran liegt das und wie behebe ich das Problem? Danke

Antwort
von Onionlover, 42

Korrektur: Es darf nur die Spalte nicht größer als 4 sein, aber warum?

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten