C Returning char [] Warning „zwraca adres zmiennej lokalnej” [duplikat]

To pytanie ma już tutaj odpowiedź:

Zwracanie adresu zachowania zmiennej lokalnej [duplikat] 2 odpowiedzi

To część zadania domowego.

Próbuję odczytać i zwrócić pojedynczą linię pliku w mojej metodzie getLine.

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

Wydaje się, że działa to na podstawie tego, czego nauczyłem się odnośnie wskaźników, jednak nie mogę usunąć komunikatu ostrzegawczegowarning: function returns address of local variable [enabled by default]. To ostrzeżenie odnosi się do liniireturn line;. Moje zadanie wymaga, aby nie kompilować żadnych ostrzeżeń ani błędów. Nie widzę, co robię źle.

Większość pomocy, jaką znalazłem, zasugerowała, że ​​zajmuje miejsce na linię tekstu, ale jeszcze nie uwzględniliśmy tego w klasie, mimo że zrobiłem kilka w innej klasie. Czy to naprawdę najlepszy sposób na to? Jeśli tak, czy mógłbym uwolnić się w dowolnym miejscu programu?

questionAnswers(2)

yourAnswerToTheQuestion