Füllung einen char pointer in ein struct

Ich habe ein "Auto" struct mit einem Modell (char *Typ) und das Jahr des Modells (int Jahr). Ich habe eine Funktion, erstellen Sie ein neues Auto struct; es ist jedoch seg, der zu einem Fehler beim kopieren der char-Zeigern. Dieser soll, erstellen Sie einen neuen Knoten für eine verknüpfte Liste.

Car *newCar(char *model, int year){
    Car *new = malloc(sizeof(Car));
    new->year = year;
    new->model = malloc(MAX_LENGTH*sizeof(char));
    strcpy(new->model, model);
    new->next = NULL;
    return new;
}
Wie wäre new->model = malloc(strlen(model) + 1) ?
Sie sollten überprüfen, dass char *model ist nicht NULL. Auch als gute Praxis, überprüfen Sie immer die Rückgabe der mallocs.
danke; aber das Probleme ist immer noch da.
Xu char *Modell, wird nie NULL, weil es ist die scan-in-Daten aus einer Datei in eine andere Funktion.
er kann sicher verwenden Sie neue mit einem c-compiler

InformationsquelleAutor kyle | 2013-03-11

Schreibe einen Kommentar