¿Salir fuera de alcance como este libera la memoria asociada?
Me preguntaba, en el siguiente escenario, ¿la memoria utilizada por 'stringvar' liberada después de que se haya ejecutado method1?
// Just some method
void method2(char* str)
{
// Allocate 10 characters for str
str = malloc(10 * sizeof(char));
}
// Just another method
void method1()
{
char* stringvar;
method2(stringvar);
// Is the memory freed hereafter, or do I need to call free()?
}
Lo pregunto, porque si pongo 'libre (stringvar)' al final del método 1, recibo una advertencia de que stringvar está unitalizado dentro del método 1 (que es cierto).