Sehr verwandt mit my previous question, aber ich fand dies ein separates Problem und bin nicht in der Lage, eine solide Antwort darauf zu finden.Wird der Speicher eines (Zeichen) -Arrays freigegeben, wenn der Gültigkeitsbereich überschritten wird?
Wird der Speicher, der von einem (Zeichen-) Array verwendet wird, freigegeben, wenn der Gültigkeitsbereich überschritten wird?
Ein Beispiel:
void method1()
{
char str[10];
// manipulate str
}
So nach dem method1 Aufruf ist der Speicher von str (10 Byte) verwendet befreit, oder muss ich ausdrücklich auch auf diese kostenlos anrufen?
Meine Intuition sagt mir, dies ist nur ein einfaches Array von primitiven Typen, so dass es automatisch befreit wird. Ich bin im Zweifel, weil man in C nicht davon ausgehen kann, dass irgendetwas automatisch freigegeben wird.
(wobei "nein" bedeutet - ja, es ist kostenlos, indem Sie außerhalb des Geltungsbereichs gehen, und nein, Sie müssen nicht explizit kostenlos anrufen) – jmanning2k
@ jmanning2k ich las meine Post auch neu und edited es zu sein ein bisschen klarer darüber, was "nein" bedeutete – JaredPar