Devolviendo un puntero a una variable automática
Digamos que tienes la siguiente función:
char *getp()
{
char s[] = "hello";
return s;
}
Dado que la función está devolviendo un puntero a una variable local en la función que se usará afuera, ¿causará una pérdida de memoria?
PD Todavía estoy aprendiendo C, así que mi pregunta puede ser un poco ingenua ...
[Actualizar]
Entonces, si dices que quieres devolver un nuevochar[]
array (es decir, tal vez para una función de subcadena), ¿qué devuelve exactamente? ¿Debería ser puntero a una variable externa? es decir, unchar[]
que no es local a la funcion?