C Rückgabe von char [] Warnung “gibt die Adresse der lokalen Variablen zurück” [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Rückgabe einer Adresse mit lokalem Variablenverhalten [duplizieren] 2 Antworten

Dies ist ein Teil einer Hausaufgabe.

Ich versuche, eine einzelne Zeile einer Datei in meiner Methode getLine zu lesen und zurückzugeben.

char *getLine(FILE *input) {
    char line[30];
    if(fgets(line, sizeof(line), input)!=NULL)
    {
        return line;
    }else{
        return NULL;
    }
}

Dies scheint nach dem zu funktionieren, was mir in Bezug auf Zeiger beigebracht wurde, aber ich kann die Warnmeldung nicht entfernenwarning: function returns address of local variable [enabled by default]. Diese Warnung bezieht sich auf die Zeilereturn line;. Meine Aufgabe setzt voraus, dass ich beim Kompilieren keine Warnungen oder Fehler habe. Ich verstehe nicht, was ich falsch mache.

Die meiste Hilfe, die ich gefunden habe, schlug vor, Platz für die Textzeile zu schaffen, aber wir haben das in der Klasse noch nicht behandelt, obwohl ich einige in einer anderen Klasse gemacht habe. Ist das wirklich der beste Weg, dies zu tun? Wenn ja, wäre ich in der Lage, irgendwo im Programm zu befreien?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage