関数から文字列リテラルまたは配列を返したい場合は、呼び出された関数が返されたときに内容が「死ぬ」ことがないように、それを静的として宣言する必要があることを理解しています。
しかし、私の質問は、関数内で malloc を使用してメモリを割り当てる場合はどうですか?
次の関数では:
char * getLine() {
char *line = (char *) malloc(10 * sizeof(char));
printf("Enter a string: ");
fgets(line, 10, stdin);
return line;
}
この関数から返されたメモリ アドレスは、関数 getLine が返された後でも安全ですか?